Subscribe to RSS Feed ログイン

FLASH備忘6|ActionScriptやらWordPressやらを楽しむ会

Thursday
2010年9月09日

2010年 トラで厄(やく)退治ゲーム。新年一号のミニゲーム

年賀状メールとして公開する予定だったミニゲームが今日、とりあえず公開できるレベルに達しました。

寅がパンチで2010年の厄(やく)を追い払うゲームです。迫ってくる厄に合わせてキーボードの左右キーを押すことで、追い払うことできます。倒すごとにハッピーパワーが増加します。逆に厄をトラが受けてしまうとアンラッキーが増加してしまいます。厄はより近くでパンチすることで多くのハッピーパワーがもらえます。

ちなみにスクリプトはこちら↓

 

var hit1L:Boolean = false;
var hit1R:Boolean = false;
var hit2L:Boolean = false;
var hit2R:Boolean = false;
var down:Boolean = false;
var hit_acL:Number = 1;
var hit_acR:Number = 1;
var dm:int = 0;
var yk:int = 0;
var timer1:Timer = new Timer(33);
timer1.addEventListener(TimerEvent.TIMER, loop1);
timer1.start();
var tt:int = 33;
var timer_R:Timer = new Timer(1000);
var rad:Number = 0;
pk_L.y = 1000;
pk_R.y = 1000;
//pk_U.y = 1000;
yaku1.x = -200;
yaku2.x = 700;
yaku1.y = 280;
yaku2.y = 280;
tora.x = stage.stageWidth/2 - tora.width*0.8/2;
//------ループ(おもに衝突判定)--------
function loop1(e:TimerEvent):void {
 //tt++;
 //tt_txt.text = String(tt);
 //timer1 = new Timer(tt);
 //timer1.addEventListener(TimerEvent.TIMER, loop1);
 yaku1.x += tora.x/100*hit_acL;
 yaku2.x -= tora.x/100*hit_acR;
 if(yaku1.x < -100){
  yaku1.x = -100;
  hit_acL = 1;
 }
 if(yaku2.x>800){
  yaku2.x = 700;
  hit_acR = 1;
 }
 rad += Math.PI/10;
 rad += Math.PI/10;
 yaku1.y += 5 * Math.sin(rad);
 yaku2.y += 5 * Math.sin(rad + Math.PI);
 hit1L = pk_L.hitTestObject(yaku1);
 hit1R = pk_R.hitTestObject(yaku2);
 if(hit1L==true){
  hit_acL = -5;
  yk++;
 }
 if(hit1R==true){
  hit_acR = -5;
  yk++;
 }
 hit2L = tora.hitTestObject(yaku1);
 hit2R = tora.hitTestObject(yaku2);
 if(hit2L==true){
  down = true;
  dm++;
  tora.gotoAndPlay(2);
  yaku1.x = -100;
 }
 if(hit2R==true){
  down = true;
  dm++;
  tora.gotoAndPlay(2);
  yaku2.x = 700;
 }
 //数値表示
 test1_txt.text = String("UNLuckey:"+dm);
 test2_txt.text = String("HAPPY POWER:"+yk);
}
// ---------キーボード処理↓--------------------------
var spd:Number = 2;

//アニメーションはフレーム毎ではなく、時間毎に再生
var timer:Timer = new Timer(10);
timer.addEventListener(TimerEvent.TIMER, loop);
timer.start();
//t_sp.stop();

//キーボード操作のためのフラグ
var wk1:Boolean = false;
var wk2:Boolean = false;
var wk3:Boolean = false;

//ステージにキーボードイベントを追加
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKD);
stage.addEventListener(KeyboardEvent.KEY_UP, onKU);

//キーボードを押したときの判定
function onKD(e:KeyboardEvent):void {
 //trace("onKD");
 //t_sp.x += 5;
 if(down==false){
  if(e.keyCode==Keyboard.RIGHT&&wk2==false&&wk3==false){
   //wk1 = true;
   wk1 = true;
   tora.scaleX = -1;
   tora.x = stage.stageWidth/2 + tora.width/2;
  }else if(e.keyCode==Keyboard.LEFT&&wk1==false&&wk3==false){
   wk2 = true;
   tora.scaleX = 1;
   tora.x = stage.stageWidth/2 - tora.width*0.8/2;
  //}else if(e.keyCode==Keyboard.UP&&wk1==false&&wk2==false){
   //wk3 = true;
  }
 }
}

//キーボードを離した時の判定
function onKU(e:KeyboardEvent):void {
 if(e.keyCode==Keyboard.RIGHT){
  wk1 = false;
  pk_R.y = 1000;
  //timer_R.addEventListener(TimerEvent.TIMER, loop_R);
  //timer_R.start();
  //pk_R.y = 1000;
  //t_sp.gotoAndStop(1);
 }
 if(e.keyCode==Keyboard.LEFT){
  wk2 = false;
  pk_L.y = 1000;
  //t_sp.gotoAndStop(1);
 }
 //if(e.keyCode==Keyboard.UP){
  //wk3 = false;
  //pk_U.y = 1000;
  //t_sp.gotoAndStop(1);
 //}
}
//時間毎の動作
function loop(e:TimerEvent):void {
 //pk_L.y = 1000;
 pk_L.y = 1000;
 //pk_U.y = 1000;
 if(wk1){
  pk_R.y = 250;
  //pk_R.loop_R();
  //t_sp.x += spd;
  //t_sp.scaleX = 1;
  //t_sp.play();
 }
 if(wk2){
  pk_L.y = 250;
  //t_sp.x -= spd;
  //t_sp.scaleX = -1;
  //t_sp.play();
 }
 //if(wk3){
  //pk_U.y = 200;
  //t_sp.x -= spd;
  //t_sp.scaleX = -1;
  //t_sp.play();
 //}
}

/*function loop_R(e:TimerEvent):void {
 if){
  pk_R.y = 250;
 }else{
  pk_R.y = 1000;
 }
}*/

コメント(0)続きを読む

面白FLASHゲームDad n Me Game Online

連続技が使いのアクションゲームです。キャラクターの動きが軽快で時々出るカッコイイ技が決まるとスカッとした気分になります。シンプルなゲームだけどやはり制作には相当な苦労があったのかな。

 screenshot.274screenshot.275screenshot.276

上の画像でかっこいいシーンをキャプチャしようと思ったのですが、予想に反して情けないシーンが集まってしまいました。

Dad n Me Game Online.

コメント(0)続きを読む

Papervision3Dを使った3Dレースゲームを再現。すごすぎる

app.

Papervision3Dを使った3Dレースゲームを再現。すごすぎる

コメント(0)続きを読む