× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
「今回の題材maru5」
|maru5.swf | |キーボードで左右の方向キー押すと左右に動きます |不要な調味料を捨てておく為の変なのが増えただけで大して変わりません(笑) ↓スクリプト↓ var ri:Number = 360; var end_ri:Number = 0; var now_r:Number = 0; var jimen_x:Number = 0; //ごみ箱キャラクターを動かすための数値を入れる変数(箱)を追加 var now_maru:Number = 0; function f_ri() { ri += (end_ri-ri)/40; if (end_ri-ri>-0.8 && end_ri-ri<0) { ri = end_ri; } maru._rotation = -ri; } function f_jimen_x() { now_r = end_ri-ri; jimen_x += now_r%50; if (jimen_x<-50 && jimen_x<0) { jimen_x = 50+now_r%50; } else if (jimen_x>50 && jimen_x>0) { jimen_x = now_r%50; } jimen._x = jimen_x; } //新しくゴミを動かすファンクションを追加 //地面は50の周期にしましたが2000の周期で初期値に戻します //+500などは500進むとその位置になります今は初期位置360なので140ですが // /1.2などはバグの元ですハイ。実験用に追加(笑) function f_gomi() { now_maru = ri%2000; g1._x = now_maru+500; g2._x = now_maru/1.2+1000; g3._x = now_maru/1.3-200; } //f_gomi()を追加したくらいで、以下は前回までに説明したので省略 //-start--EnterFrame---------------- this.onEnterFrame = function() { f_ri(); f_jimen_x(); f_gomi(); }; //-end------------EnterFrame //-start--KeyDown------------------- var kd_lis:Object = new Object(); kd_lis.onKeyDown = function() { if (Key.isDown(Key.RIGHT)) { end_ri += -80; } if (Key.isDown(Key.LEFT)) { end_ri += 80; } }; Key.addListener(kd_lis); //-end------------KeyDown それではいつものように感想とか 質問や指摘がありましたらコメントをお願いします PR |
「今回の題材maru4」
|maru4.swf | |キーボードで左右の方向キー押すと左右に動きます |えぇ…大して変わりません(笑) 今回はごちゃごちゃしてきたので関数に… 七味唐辛子で1調味料みたいにまとめてみます。 何度も使うスクリプトじゃないので分ける必要がないのですが 見やすいようにします ↓スクリプト↓ var ri:Number = 360; var end_ri:Number=0; var now_r:Number=0; var jimen_x:Number = 0; //function 七味 (){ 七味の材料 } で指定をして //七味 () で読み出します //こうしておけば、七味 ()と書くだけでもう七味ができてしまうのです //今回は本体(f_ri)と地面(f_jimen_x)とに分けました function f_ri() { ri += (end_ri-ri)/40; maru._rotation = -ri; } function f_jimen_x() { now_r=(end_ri-ri)/45 jimen_x += now_r%50; //「&&」は追加条件です、りんご「と」はちみつが入ってればバーモントみたいに //-50まで動き「あと」0よりも小さい時には地面を元の位置に戻せということです //0より大きい-50なんてないので指定しなくてもいいのですが(笑) //バグ防止です。この後+に動かすのですが //+の状態になりそこから-100動こうとすると同時多発テロ?になると困りますので if (jimen_x<-50&&jimen_x<0) { jimen_x = 50+now_r%50 } //「else」はその直前に指定してあるifが成り立たない場合に実行します //りんごもはちみつも入っていないカレーはバーモント「以外」のカレーみたいに else if(jimen_x>50&&jimen_x>0){ jimen_x = now_r%50 } jimen._x=jimen_x; } this.onEnterFrame = function() { //前回までここに直接書いてたものを別に指定しておき、それを実行させます。 f_ri(); f_jimen_x(); }; //今回はクリックではなくキーボードの反応をうかがいます var kd_lis:Object=new Object(); kd_lis.onKeyDown = function() { //右が押されれば最終位置を-80動かし //左が押されれば最終地点を+80動かします if(Key.isDown(Key.RIGHT)){end_ri += -80;} if(Key.isDown(Key.LEFT)){end_ri += 80;} }; Key.addListener(kd_lis); それではいつものように感想、愚痴 質問や指摘がありましたらコメントをお願いします |
「今回の題材maru3」
|maru3.swf | |画面上をクリックすると回転が加速します |えぇ…仕様は昨日と大して変わりません |しいて言えば、地面が追加になっております(笑) -----------------注意:分かり辛く、調味料関係に例えてあります------------- というわけでスクリプト↓前に説明した場所は排除! var ri:Number = 360; var end_ri:Number=0; //現在の地面の位置となる変数を追加 var now_r:Number=0; //地面の移動値を入れる変数を追加 var jimen_x:Number = 0; this.onEnterFrame = function() { ri += (end_ri-ri)/50; maru._rotation = -ri; //riと同じように最後の位置との差をとり今回は45で割ります now_r=(end_ri-ri)/45; //1マスが25ドット、2つで一週回るので50で計算していきます //「%」は割り算の余りを算出します(105÷50で余りの“5”の部分) jimen_x += now_r%50; //if(条件){条件が成立すれば内容を実行} //例えば、if ( 調味料が多い ) { ここで分析する }という風に //もし、-50ピクセル(ドット)の位置よりも超えて移動しようとしたら) //50を足して元の位置に戻し、移動しようとした数値を足すとなっております if(jimen_x<-50){jimen_x = 50+now_r%50;} }; //クリック時の動作のイベント(処理)です //今回はちゃんと指定をした方法を書きます //調味料をかけると言う動作があっても、かけられる物がないと話になりませんよね //なので、調味料がかかったかどうかを教えてくれるような、オブジェクトを作ります var md_lis:Object=new Object(); //md_lisの上にかけますよ~みたいな感じで、クリックの指定をしておきます //「調味料をかけたら、おいしくなる」のように //「クリックされたら最後の値を変化」させます md_lis.onMouseDown = function() { end_ri += -80; }; //実は自分も良く分からないのですが //クリックしたか(調味料がちゃんとかかったか)をmd_lisに確認させるみたい? Mouse.addListener(md_lis); それではいつものように感想、愚痴 質問や指摘がありましたらコメントをお願いします |
「今回の題材」
|maru2.swf | |画面上をクリックすると回転が加速します |えぇ…仕様は昨日と大して変わりません |しいて言えば、かなーり速度が遅くなっております(笑) というわけでスクリプト↓昨日説明した場所は排除! var ri = 360; //回転の最後の位置となる、新たな変数を追加。初期値は0度にします var end_ri=0; this.onEnterFrame = function() { //最後の位置の値が0で固定になっていた場所を変数に置き換えます //これにより下を向いて止まったりすることが可能になります ri += (end_ri-ri)/50; //「-」にすることにより回転方向を時計回りにしてみました maru._rotation = -ri; }; this.onMouseDown = function() { //現在値で加速しているように見せていた場所を //最後の値をずらし加速しているように見せます //時計回りなので「-」成分を追加します end_ri += -80; }; スクリプトなんて分からなくても押して楽しんでもらえれば本望です! 「やってみたいなぁ…」なんて思ったときにでも参考にしてくれると嬉しいです! それではいつものように感想、愚痴 質問や指摘がありましたらコメントをお願いします |
ファイルアップロードで画像しか認められておらず(当然)
別の場所に置くしかないのですが ここに表示させるためにはアラートが出てくると思います 出ない方法も探しては見たのですが外部じゃばすくりぷとを使用しなければ ならなくて、ブログのヘッダーに読み込ませたりなんやら… とにかく面倒なので! しばらくは別窓で表示の方向へ行きます 「今回の題材」 |maru.swf | |画面上をクリックすると回転が加速します |…えぇ、ただそれだけです! 初回ということで説明をぼろぼろとしてみます(笑) スクリプトは↓↓ //riという変数を定義して360に設定します var ri:Number = 360; //毎フレームごとの動作(今回はfps30。1秒間に30枚絵があるということです) this.onEnterFrame = function() { //0とriの差分をとり、初期では360度になり引くと0になります。 //だけど、それでは最初で0の位置に行ってしまうので20で割り18を引きます //そうすれば最初は342の位置に、その次は324.9になります。 ri += (0-ri)/20; //上で計算させたriの値をオブジェクトの角度にセットします。 maru._rotation = ri; } //クリックされたときの動作 this.onMouseDown = function() { //360度分の回転数をriに足します ri += 360; }; 以上です。全部読んでくれた人にはありがとう そして感想、指摘、愚痴や質問などをどうぞコメントしてください |
忍者ブログ [PR] |