2012-04-12 4 views
1

私はFlixelに新しいです。私の質問が単純すぎる場合は、私を許してください。スタイルシートが正しく動作していない

私の質問は: 私はフォトショップを使用して、4枚の非常に単純な画像(スタンド、移動、サイドスタンド、サイド動きが)、テクスチャパッカー(スタイルシートメーカー) にそれを渡されたそれは私に画像を生成作られた(それ `s非常にシンプルな)とJSONファイルに加えて、ここにそれはあります:
私はそれが立っているキャラクター(最初のもの)としてそれらを使用したいと思います。アニメーションの移動を呼び出すと、最後のイメージを使用しますが、期待どおりに動作しませんでした。基本的に4枚の画像すべてを一度に表示します。ここ
コードです:
Character.as:(私は、このクラスのインスタンスを作成します)

package 
{ 
    import org.flixel.FlxSprite; 

    public class Character extends FlxSprite 
    { 
     [Embed (source="character.png")] 
     private var CharacterGraphic:Class; 
     public function Character(X:Number=0, Y:Number=0) 
     { 
      super(X, Y); 
      loadGraphic(CharacterGraphic, true, false, 53, 54); 
      velocity.y = 100; 
      addAnimation('move_forward', [0, 3], 30, false); 

     } 

    } 
} 

PlayStateクラス

override public function create():void{ 
     character = new Character(100, 200); 
     add(character); 

    } 
    override public function update():void{ 
     //for debugging 
     if(character.y == 600){ 
      character.play('move_forward'); 
     } 
     super.update(); 
    } 

だから私は予想:
ポップされた最初の画像は、 move.forwardアニメーションが開始する(最初と最後のイメージをループする)

出力は:
4つの画像がすべてポップアップし、velocity.y == 60のときは何も起こりません。

私はActionscript 3とFlixel(またゲーム開発!)にはとても新しいので何かが足りないと思っています。

ほぼ同じ手順では、オンラインチュートリアルのために働いていた唯一の違いは、JSONファイルはこちらhttp://gotoandlearn.com/play.php?id=139
それをチェックし、彼は代わりに1のアニメーションのカップル(敵を)作成したということですが、私はそれのための使用を発見したことはありません(私が試しましたIRCのチャンネルで尋ねるが誰もそれを言及しない)、またフォーラム/チュートリアルで。

答えて

1

私が見る最初の問題は、複数の行に画像があることです。フリクセルは、その枠がすべて1つの水平な行に四角形で好きです。各フレームに長方形のサイズを指定しても、それらは同じサイズで、横一列にする必要があります。あなたが正しくするならば、0から3までのフレームが必要です。

イメージ/フレームを変更する必要がない理由は、インデックスにフレームを変更しないためです。これは同じ変更で修正する必要があります。

私はこの理由から、ほとんどのスプライトパッカーとフリクセルプロジェクトを信頼しません。スプライトパッカーはファイルサイズを最小限に抑えようとしているので、可能な限り小さなスペースに多くのスプライトを詰め込むので、各スプライトは他のスプライトとはサイズが異なります。私が言ったように、Flixelはスプライトが同じサイズで、すべて一列に好きです。

私はそれが欲しいことをしている人を見つけました...私は、それがどんなプログラムであるか(あるいは私がそれ以上持っていなくても)家に帰ったら、一度見てみる必要があります。その間、Photoshopを使用してドキュメントの高さを最も高いスプライトの高さに設定し、幅は最も広いスプライトの幅xシート内のスプライトの幅を指定します。次に、各スプライト/フレームを適切なスペースに配置します。

編集:JSONファイルがまったく必要ないと思います。透明なPNGを使用してください。

+0

私は15x20ピクセルで1つ1つを入れましたが、スペースはないので同じ結果が得られますか? – Abdulaziz

+0

これで、2つ目のフレームの部分に1つのフレームが表示されるようになりました。その間にスペースがないので(私は推測しています) – Abdulaziz

+0

20x20の正方形を試してみてください。 –

関連する問題