2012-02-03 6 views
2

申し訳ありませんが、私は賢明な終わりであり、私はCraftyJSにトゥイーンをさせることができません。CraftyJSでTweenを行うには?

私がしたいのは、キノコがヒットするたびに、そのキノコがコンポーネント「回答」を持っているかどうかをチェックしたいのです。それが存在すれば、私は何もしません。さもなければ、私は消え去る大きい赤い箱を表示したいと思う。

Crafty.c("Mushroom", { 
     init: function() { 
      this.addComponent("collision"); 
      this.collision(); 
      this.onhit("bullet",function(e) { 
       this.destroy(); 
       e[0].obj.destroy(); 
       if(!this.has("Answer")) { 
        Crafty.e("2D, Tween, color, canvas") 
        .attr({alpha: 1.0, x: 170, y: 100, w:300, h:100}) 
        .color("red") 
        .bind("enterframe", function() { //How do i actually get the box to fade? 
         this.tween({alpha: 0.5, x: 170, y: 100}, 30); 
        }); 
       } 
      }); 
     } 

答えて

5

狡猾なコミュニティへの歓迎。代わりに、あなたは単にた後、それが起動します、独自の次の600ミリを超えるEnterFrame(30フレーム)を管理しますので、

Crafty.e("2D, Tween, color, canvas") 
       .attr({alpha: 1.0, x: 170, y: 100, w:300, h:100}) 
       .color("red") 
       .tween({alpha: 0.5, x: 170, y: 100}, 600); 

およびTween関数のように、あなたが作成したエンティティ上のトゥイーン機能を呼び出したいですTweenEndイベント。

(旧式のCraftyでは、期間をmsではなくフレームで指定しました)

+1

Crafty 0.6.1ではフレームではなくミリ秒になりました。 – ashes999

+0

これは実際にはいくつかのゲームでは本当に素晴らしいですが、代わりにフレームを使用するオプションがありますか? –

+0

私はミリ秒がより頑強になると信じています。あなたのアプリケーションがより速く/遅いマシンで実行されている場合、アニメーションは秒単位でフレームよりも一貫して表示されます。 (これはCraftyJSに固有のものではありません) – ashes999

1

これは、より多くの

まず:-)メタ答えのようですが、私はそれはバグ修正をたくさん持っているとして、最新のバージョンにアップグレードすることをお勧めします。新しいリリースでコードを実行するために必要な変更の一部は、すべてのコンポーネントとイベントをPascalのケースに変更することです。それはenterframe => EnterFrame、canvas =>キャンバスなどです。

第2に、適切な視聴者を得るためにこれらの質問をCraftyフォーラムに提出する必要があると思います。私がこの質問を発見した唯一の方法は、Googleの警告だった。

このテンプレートhttp://jsfiddle.net/mCdUX/62/からjsfiddleを作成して、動作させることができない部分を示す小さな実行例を作成することをおすすめします。

ああ、あなたがトゥイーンは、各フレームで始まることになりますEnterFrameイベントにtweenコード実行を結合している:-)

+1

-1:実際にはユーザーの質問には答えません。私はこのまさにこのサイトでSOから離れてユーザーを運転することに全く満足していません。 – millimoose

+0

1)SOの背後にあるビジョンがウェブを改善することであり、確かに私が知っているのは、Web上に特定の質問に対して良い答えを得る可能性が高い場所が他にもあるその答えから)私はそれが人々に知らせるために、SOのビジョンに沿っていると思います。 2)この場合、Craftyをアップグレードすることが正解です。 3)残念なことに:-) – sorenbs

+0

OPの質問が実際にどのような問題であったかを明確にしていないことを考慮すると、実際にあなたの答えには明確化が求められ、質問や回答は編集されず、ストーリー、私はその問題がアップグレードによって修正された問題であったというあなたの言葉だけを持っています。私はあなたにそれを信じない理由はありませんが、この質問と答えは、Googleで見つけた他の誰にとってもそれほど役に立たないものではありません。 – millimoose

関連する問題