본문 바로가기
[ChatGPT] Sample Code 샘플 코드

[ChatGPT][Haxe/XML/Json][OpenFL] 화면에 빨간색 사각형을 그리는 OpenFL용 간단한 예제 샘플 코드

by byungwoo733 2023. 3. 21.
728x90
반응형
SMALL

화면에 빨간색 사각형을 그리는 OpenFL용 간단한 예제 샘플 코드

Haxe 코드 (확장자명: .hx)

main.hx

package;

import openfl.display.Sprite;
import openfl.display.Shape;
import openfl.display.Graphics;

class Main extends Sprite {
    
    public function new() {
        super();
        
        // Create a new Shape object
        var rect:Shape = new Shape();
        
        // Set the fill color to red
        var graphics:Graphics = rect.graphics;
        graphics.beginFill(0xFF0000);
        
        // Draw a rectangle with a width and height of 100
        graphics.drawRect(0, 0, 100, 100);
        graphics.endFill();
        
        // Add the Shape object to the stage
        addChild(rect);
    }
}

이 예제에서는 openfl.display.Sprite를 확장하는 Main이라는 새 클래스를 만듭니다. 생성자 함수 new()에서 rect라는 새 openfl.display.Shape 객체를 만들고 채우기 색상을 빨간색으로 설정하고 너비와 높이가 100인 사각형을 그리고 addChild()를 사용하여 스테이지에 추가합니다. 이 코드를 실행하면 화면에 빨간색 사각형이 나타나는 것을 볼 수 있습니다.

loadWindow.hx

var loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onWindowLoaded);
loader.load(new URLRequest("window.xml"));

function onWindowLoaded(event:Event):Void {
    var window = event.target.content;
    var mainSprite = window.getChildByName("mainSprite") as Sprite;
    var rectShape = mainSprite.getChildByName("rectShape") as Shape;
    addChild(mainSprite);
}

이 코드는 Loader 클래스를 사용하여 XML 파일을 로드하고 addChild 메서드를 사용하여 표시 목록에 mainSprite 객체를 추가합니다. rectShape 객체에 액세스하고 필요에 따라 해당 속성을 수정할 수 있습니다.

제공한 Haxe 코드와 동일한 빨간색 사각형을 생성하는 XML 코드(확장자명: .xml)

window.xml

<?xml version="1.0" encoding="utf-8"?>
<window xmlns="http://www.openfl.org/ns/2.0"
        width="640"
        height="480"
        background="#FFFFFF"
        title="My OpenFL Window"
        resizable="true"
        borderless="false"
        vsync="true"
        hardware="false"
        antialiasing="0"
        stencil="false"
        depthBuffer="false"
        fullscreen="false"
        orientation="default"
        density="1.0"
        >
    <sprite name="mainSprite">
        <shape name="rectShape">
            <graphics>
                <fill color="0xFF0000" />
                <rect x="0" y="0" width="100" height="100" />
            </graphics>
        </shape>
    </sprite>
</window>
728x90
LIST

댓글