yumcom.net

Yuko M's communication network since 2006

02-28-2008
卒業制作その3

ヾ(*ΦωΦ)ノ ヒャッホゥ

ついに、やっと、とうとう、
ちょっとだけ、カキが思い通りに動きました♪

もうねぇ、確実に動いているところ以外コメントアウトして、
すこーしずつ動作確認して、動かん原因究明に励みました。
ってそれが定石のやり方???

ともかく、そうすると何が悪いのかはわからなくとも、
絶対的にコイツに原因がある、というのがわかったので、
そいつをいじり倒したり、そいつを移動したりして、
やっと、焼き台の上でカキが焼けるようになりました。笑

具体的にはこんな感じ。

太字にしたカキと焼き台との接触判定の式を外に書いてたらダメでした。
その辺がよくわかってないけど、まぁおいおいわかるでしょう。

(カキのインスタンスがカーソルに追従する式が初めに入る)
//マウスアップでstartTimerメソッドが実行
this.addEventListener(MouseEvent.MOUSE_UP, startTimer);
//カキと焼き台の接触判定をして、結果がtrueならoyster_timer開始
function startTimer(event:MouseEvent):void {
var onStage:Boolean = this.hitMc.hitTestObject(Object(parent).yakidaiMc.hitMc);
  if(onStage == true){
    oyster_timer.start();
  }
}
//oyster_timerの定義。1秒ごとに8回繰り返す
var oyster_timer:Timer = new Timer(1000,8);
//上記設定でcookingメソッドを実行
oyster_timer.addEventListener(TimerEvent.TIMER, cooking);
//カキの状態を表す変数cookLevelに初期値0代入
var cookLevel:int = 0;
//cookLevelを1増やしてから、その数値によってグラフィックを変化させる
function cooking(event:TimerEvent):void {
  ++cookLevel;
  if(cookLevel <= 3) {
    this.gotoAndStop("nama");
  } else if(cookLevel >= 8) {
    this.gotoAndStop("koge");
  } else {
    this.gotoAndStop("ok");
  }
}

そして、焼き台の外に持っていくとそれ以上は焼けないけど、
また焼き台に置くとさらに焼ける、ということで、
MOUSE_DOWNでoyster_timerをストップする式が続きます。


次は、お皿とカキの接触判定。
カキをお皿に置くともう動かせないようにします。
さらに、皿に置いたカキの数も数えます。
これは、メインのタイムライン上で数えるようにしないとなー。

[WEB] | comment(0)
    
Name:

E-mail:

URL:

Comment:

 
Copyright (c) 2006-2010, yumcom.net. All rights reserved.