1

私は現在、狡猾なjsでゲームを作ろうとしていますが、スプライトアニメーションにこだわっています。私は自分が間違っていることを本当に知りません..

これが作業コードです: http://aaahdontpaintmeinred.me.pn/

読み込みシーンでスプライトを読み込む方法は次のとおりです。

Crafty.scene('Loading', function(){
// Draw some text for the player to see in case the file
//  takes a noticeable amount of time to load
Crafty.e('2D, DOM, Text')
.text('Loading...')
.attr({ x: 0, y: Game.height()/2 - 24, w: Game.width() });

  // Load our sprite map image
  Crafty.load(['assets/mansprite.gif'], function(){
  // Once the image is loaded...

// Define the individual sprites in the image
// Each one (spr_tree, etc.) becomes a component
// These components' names are prefixed with "spr_"
//  to remind us that they simply cause the entity
//  to be drawn with a certain sprite
Crafty.sprite(133, 'assets/mansprite.gif', {
  mansprite:[0, 0]
});

  // Now that our sprites are ready to draw, start the game
  Crafty.scene('LevelEditor');
  })
})

そして、これが私のプレーヤーコンポーネントでバインドしてアニメーション化しようとする方法です:

Crafty.c('PlayerCharacter', {
init: function() {

this.requires('Actor, Collision,FPS,mansprite,SpriteAnimation,WiredHitBox')
  .attr({maxValues:1,boost:false,trailSpacing:100,currentFrame:0})
  .collision();

  this.animate('run',0, 0, 3);
  this.animate('idle',3, 0, 1);
  this.requires('FluidControls')
  //this.rotation+=90;
  .onHit("FinishLine",this.endLevel)
  .onHit("DeathWall",this.omagaDie)
  .onHit("Booster",this.booster)
  .bind("EnterFrame",function(fps){

    if(this.move.up)
    {
      this.animate('run', 4,-1);
      var spacing = this.trailSpacing; 
      if( this.currentFrame%((60*spacing)/1000) == 0)
        Crafty.e("montexte").spawn(this.x,this.y,this.boost,this.xspeed,this.yspeed,this.rotation%360,this.h,this.w);
    }else
    {
      if(!this.move.down)
      {
        this.animate('idle', 4,1);
      }
    }
    this.currentFrame++;

    if(this.currentFrame >=60)
      this.currentFrame=0
  })
  ;

}、

誰かが何が間違っているのかを指摘してくれることを願っています! 詳細が必要な場合や質問がある場合は、ためらわないでください。ありがとう

4

2 に答える 2

0

わかりましたので、0.5.3 バージョンを使用して問題を解決しました。

まだ何が起こっているのかわかりません。しかし、ここで答えを出そうとします。

于 2013-09-03T08:24:20.917 に答える
0

非縮小版を使用してください。

Crafty v0.5.4 を縮小して使用していましたが、スプライト アニメーションが機能せず、コンソール ログにエラーはありませんでした。

その後、数時間格闘した後、非縮小版を試してみたところ、スプライト アニメーションが適切に機能し始めました。

于 2013-11-04T21:05:20.267 に答える