recursion-team-a / card-games

https://card-games-hub.vercel.app/
3 stars 2 forks source link

プロトタイプの作成 (Phaserの調査) #10

Closed tkuramot closed 1 year ago

tkuramot commented 1 year ago

https://zenn.dev/sdkfz181tiger/books/d705035a8c0452 https://zenn.dev/nyoroko/articles/f03f4dfa375e05

tkuramot commented 1 year ago

基礎知識

tkuramot commented 1 year ago

プロトタイプの作成 (進行中)

tkuramot commented 1 year ago
export class TitleScene extends Phaser.Scene {
    constructor() {
        //識別ID設定のみ
        super({
            key: "TitleScene"
        });
    }

    //本来はこのメソッドで、画像ファイルなどのロード
    preload(): void {
        console.log('preload');
        this.load.image('bg', './public/img/bg.jpg');
    }
    create(): void{
        console.log('create')
        this.add.image(400, 300, 'bg')
    }
    update(): void{
        console.log('update')
    }
}

this.load.image('bg', './public/img/bg.jpg')でアセットの読み込み。this.add.image(400, 300, 'bg')でアセットの配置なんかができる。 Screenshot (11)

tkuramot commented 1 year ago
export class TitleScene extends Phaser.Scene {
    bg: Phaser.GameObjects.Image;
    constructor() {
        //識別ID設定のみ
        super({
            key: "TitleScene"
        });
        this.bg = null;
    }

    //本来はこのメソッドで、画像ファイルなどのロード
    preload(): void {
        console.log('preload');
        this.load.image('bg', './public/img/bg.jpg');
    }
    create(): void{
        console.log('create')
        this.add.text(20, 20, "Playing game", {
            font: "25px Arial",
        });
        this.bg = this.add.image(400, 300, 'bg');
    }
    update(): void{
        console.log('update')
        this.moveImage(this.bg);
    }
    moveImage(img: Phaser.GameObjects.Image): void{
        img.setX(img.x + 20);
    }
}

テキストの表示、画像の移動ができました。画面上に要素を表示する方法として、それを画像として扱う方法、スプライトとして扱う方法など複数あるようです