× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
![]() |
FIFAワールドカップが
もう少しで始まりますねー いまいちトーナメントの流れが分からなかったりします グループ内で総当たり戦+勝ち進み? まぁ・・・1グループくらいは抜けてもらいたいですね サッカーゲームも盛んなようです 今検索してみたらこんなものがありました http://www.playposition.com/sd_soccer/ 解説も読まずに始めたけど、少し面白いかもw というわけで真似しようとして断念w 一応ここまでは作ってみました maruiyatu is soccer まぁ適当に蹴って遊んでくださいw PR |
![]() |
さっきもネット、今もネット…
そんなことは置いておいて 今日は面白いFLASHを発見しました! FLASHの画面が分からなくても 見た目は、お絵かきソフトだと思えば少しは分かりやすいかな? Animator vs Animation 実際書いた絵が動き出して反乱を起こされたら ひとたまりもありませんねw 棒人間のAIもすごいですけど、カーソル捌きもなかなかだと思いますw たぶんすぐに負けてしまいそうです…… 分析…何を分析しよう棒人間でいいかw 「調味料による棒人間の解析結果」 棒人間の44%はマスタードガス(猛毒)が不要です。 棒人間の38%は昆布ポン酢が不要です。 棒人間の8%は熱湯が不要です。 棒人間の7%はぬるま湯が不要です。 棒人間の3%はお砂糖が不要です。 さすが棒人間…マスタードガスを装備しているのか 危ないから装備外してくださいw 昆布のような肉体、ポン酢のような血を使っているらしいです 自立起動しなくていいですw 以下略っと でも面白そうだから真似して作ってみたいなw |
![]() |
「今回の題材maru8」
|maru8.swf | |キーボードで左右の方向キー押すと左右に動きます |上を押すと跳ねます |今回は台に乗ってしまいますw FLASHではスクリプトがかける場所が一箇所ではありません (*1)rootのフレーム (*2)ムービークリップ内のフレーム (*3)rootなどでムービークリップやボタンに直接書く など様々です 調味料にたとえるなら… 調味料を置く台がroot、上に乗っている塩がムービークリップ (*1)rootに書くということは調味料の台から塩を動かすわけですから 台の段差で右の塩が上に行くようなものです(あってるのかなw) (*2)塩の内に書くということは塩をいくら複製しても同じ塩辛さが あるということです (*3)塩に直接書くということは右にある塩も左にある塩にも別々な 塩辛さができるということです ↓スクリプト(一部省略)↓ //どこまで落ちたら止まるかの最終地点 var start_jimen:Number = maru._y; //dai1とdai2の追加 function f_gomi() { now_maru += now_r; g1._x = now_maru+700; g2._x = now_maru+1200; g3._x = now_maru+1900; go._x = now_maru+200; goal._x = now_maru+2300; dai1._x = now_maru+900; dai2._x = now_maru+1700; } //----------------------------------------------------------- //------ここからは台の中のフレームにスクリプトを書きます----- // //スクリプトの中もムービークリップと同じように今いる階層がわからなく //なってしまう時があるので標として最初にthis(ここ)を設定します //どこまでも上がってしまわないように処理をします //今回はtrueとfalseをifで判断させて一回だけ上がるようにします var dai:Object = this; var tf:Boolean = true; this.onEnterFrame = function() { //この台が画面の中に来た時だけ処理 if (dai._x>0 && dai._x<550) { //「with()」まるでスクリプトが_parentで書かれているようになる //with( 台所 ){ 食器を洗う } //時期はずれですがコタツの中でこれを実行すれば //コタツの中でも台所で食器を洗うことができるのです //「_parent」あれ?説明したっけ?w //一つ前の階層、調味料でいうゴマの_parentは七味 //七味の中にゴマが入っている感覚 //hitTestを使って台の当たり判定をとり //台の左右の長さより外に出たら元に戻す //というスクリプト・・・・のはずなんですがw with (_parent) { if (dai.dai_up.hitTest(maru.maru)) { if (tf) { now_yi = end_yi; tf = false; } end_yi = dai._y-35; } if (dai._x<240-dai._width/2 || dai._x>310) { tf = true; end_yi = now_yi; } } } }; すいません、今回はグダグダに…orz それではいつものように感想とか 質問や指摘がありましたらコメントをお願いします 見難い&しょぼいですが、それでもいいからflaヨコセ!とかでもOKですw |
![]() |
「今回の題材maru7」
|maru7.swf | |キーボードで左右の方向キー押すと左右に動きます |上を押すと跳ねます |今回は不要調味料専用ゴミ箱に当たると跳ね返りますw 今回は今までかなーり忘れていたステージ(画面上)のムービークリップ(キャラ) について少し解説します。 参考画像 インスタンス: 目に見えるものだとボタンやムービークリップなどの種類があります 見えないものだと音とかですね こういうものを作る場合はムービークリップが多いかな インスタンス名は動かしたりするときに、どれか分かるようにしたいので 適切なインスタンス名を付けましょうw ムービークリップの中にムービークリップなどを作ることができます その場合のインスタンスの指定は.で区切ります (例えば調味料棚というオブジェクトの中にしょうゆというオブジェクトがあると 調味料棚.しょうゆ となります} ↓さて。スクリプト(初期値設定とfunctionの一部を省略)↓ //バグの原因となる/1.2などを削除(あると跳ね返った後ろにゴミ箱が出てきますw) function f_gomi() { now_maru += now_r; g1._x = now_maru%2000+700; g2._x = now_maru%2000+1200; g3._x = now_maru%2000+1900; go._x += now_r; } //ゴミ箱との当たり判定「hitTest」 //if( 調味料ゴミ箱 .hitTest(不要物) ){ 蓋を開ける } //↑ifで判断させると「もし調味料ゴミ箱が不要物とぶつかっていれば蓋を開ける」 //となります //「eval」は文字と変数を組み合わせて変数として認識させることもできます //変数(ここではgnumに1~4の数字が入る) //g1、g2...になり、そこの中にあるgomiというインスタンスと //maruの中にあるmaruというインスタンスの当たり判定を調べます //処理内容は進もうとしていた最終地点の*1.6倍戻されますw //乗っかるとぽんぽん上に跳ねて戻らなくなると困るので+20移動 function f_ghit(gnum) { if (eval("g"+gnum).gomi.hitTest(maru.maru)) { end_ri = end_ri-(end_ri-ri)*1.6+20; yi = -17; } } //「for」繰り返し処理です //for (しょうゆ=空; しょうゆ<皿の半分; しょうゆを足す){ 瓶を傾ける } //最初しょうゆが空で始まり皿の半分になるまでしょうゆを足していきます //足している間は、瓶を傾け続けろ!という処理です //「function」他のところで設定した処理をここで行う // 実行内容が 調味料( 塩 ) // functionが 調味料 ( 入れるもの ){ 瓶=入れるもの } //そうするとfunctionが 調味料( 塩 ){ 瓶=塩 } として実行されます //“入れるもの”がある場所の値を引数といいます //ここでは毎回足されていく数値をf_ghitの引数に入れ //f_ghitの処理のevalで結合されg1の、1とか2の部分になります this.onEnterFrame = function() { f_ri(); f_yi(); f_jimen_x(); f_gomi(); f_kd_lis(); for (gi=1; gi<4; gi++) { f_ghit(gi); } }; それではいつものように感想とか 質問や指摘がありましたらコメントをお願いします |
![]() |
「今回の題材maru6」
|maru6.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; //最初に置いてある場所の縦座標を初期値として設定します var end_yi:Number = maru._y; //キャラの動きに直接入れる前の一時的変数(今見ると0でいい気がするw) var re_y:Number = 1; //上昇&下降のための数値 var yi: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)/45; 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; } 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; } //前回まではKeyDownでやっていましたが反応が最初反応して //しばらくしてから連続反応になるので、常に連続反応にするために //ここのonEnterFrame(フレーム毎動作)に当てはめます function f_kd() { if (Key.isDown(Key.RIGHT)) { end_ri += -80; } else if (Key.isDown(Key.LEFT)) { end_ri += 80; } //上を押すと上へ移動させるために-50を代入します //「&&」(追加条件)は地面より20高い位置からなら代入を許します //これがなければ無制限にどんどん上へ行ってしまいますw if (Key.isDown(Key.UP) && re_y >= end_yi-20) { yi = -50; } } //今回の山場!ぽんぽん跳ねるスクリプトです //キャラの位置を300、押された状況としてyiを-50初期値として考えます //足していって300になればもとの位置です //-50から毎回5ずつ増えます //仮数値に足します //こうすることにより1回目は-45が足され2回目は-40が足されます //re_yの数値は1回目は255、2回目215、180、145、115 //しだいに引かれていた物が足されるようになります(落下にかわる) //引いていくと60で逆になりますそこから //yiが5、10、15と増えていきます //よってre_yは65、75、90となり300以上になるとyiの値を反転させ //最初の上昇下降数値の6割にしますなので-0.6をかけます //-30、-18、-10.8、-6.48..になり同じように繰り返されます //それをキャラに当てはめてる。ということです function f_yi() { yi += 5; re_y += yi; if (re_y>end_yi) { yi = yi*-0.6; re_y = end_yi; } maru._y = re_y; } this.onEnterFrame = function() { f_ri(); f_yi(); f_jimen_x(); f_gomi(); f_kd(); }; それではいつものように感想とか 質問や指摘がありましたらコメントをお願いします |
![]() |
忍者ブログ [PR] |