0

スプライトベースの射撃を処理する方法を示すgamefromscratchページを適応させようとしています。しかし、私はスプライトをコンテナ内のビットマップに置き換えようとしています。私がつまずいているのは、グラフィックスオブジェクトが作成されているonTick(delta)の終わりです。置き換える構文がわかりません。

   var g = new createjs.Graphics();
                g.setStrokeStyle(5);
                g.beginStroke(createjs.Graphics.getRGB(255,0,0));
                g.drawCircle(this.x,this.y,10);

                this.bulletGraphic = new createjs.Shape(g);
                stage.addChild(this.bulletGraphic);
            }
            bullets.push(bullet);

コンテナ内のビットマップで機能するコードを使用します。見てくれてありがとう。

4

2 に答える 2

0

Shape の代わりに Bitmap を使用する場合は、次を使用できます。

      this.bulletGraphic = new createjs.Bitmap('urlOrImage');
      stage.addChild(this.bulletGraphic);
    }
    bullets.push(弾丸);

bullet-Bitmap をさらにコンテナーに入れたい場合 (何らかの理由で):

      this.bulletGraphic = 新しい createjs.Container();
      this.bulletBitmap = new createjs.Bitmap('urlOrImage');
      this.bulletGraphic.addChild(this.bulletBitmap);
      stage.addChild(this.bulletGraphic);
    }
    bullets.push(弾丸);

私からのちょっとした補足(あなたの質問に関連するメモですが、気になる場合に備えて): そのページにあるコード例は、トピックの背後にある数学をかなりよく説明していますが、コードに関しては、これを良い例とは見なしません。弾丸の場合、通常はShapeまたはから継承して新しいクラスを作成しますBitmap。この例の作成者はプレーン オブジェクトを使用し、それを介してグラフィカル アセット (this.bulletGraphic) を参照するだけです。したがって、これを使って数学を学ぶだけなら、これは良いことです。これを使って実際のゲームを作成したい場合は、コードをかなり再構築することをお勧めします。これは面倒になるからです。すぐに。

于 2013-03-17T16:14:34.647 に答える
0

g.drawCircle() を置き換える g.beginBitmapStroke() を探していると思います

EaselJS ドキュメントは次の場所にあります。

http://www.createjs.com/Docs/EaselJS/classes/Graphics.html#yui_3_8_0pr2_2_1363403850534_598

于 2013-03-16T03:22:40.223 に答える