我想在我的游戏中创建一个迷你游戏。迷你游戏的目标是: 用鼠标快速点击,将牛推入卡车。如果你的速度不够快,那么这头母牛就会回归原点。
所以,我认为我必须创建牛动画片段并指示坐标x某事物和某些东西。
然后告诉代码每次玩家点击时,动画片段都会变为+1。
但是,每0.5秒,movielcip会转到y-2(除非它在原始坐标处)。
告诉代码,当牛动画片段位于x.somethingelse和y.somethingelse时,拼图就完成了。
现在......但并非最不重要......我怎么能这样做?
会是这样的吗? :
cow = new cowMovieclip;
addchild(cow);
cow.x = 0;
cow.y = 0;
cow.addEventListener(MouseEvent.CLICK, push, false, 0, true);
public function push(e:MouseEvent):void{
// I don't think it's like that
cow.x = +1;
cow.y = +1;
}
if (cow.y = 30){
allPuzzles.room.cowPushed = true;
}
如果玩家没有点击,那么代码会告诉母牛去-1,但我根本不知道如何把它放到......
所以,这段代码没有任何用处,所以我认为我犯了很多错误。
你能帮帮我吗?非常感谢你的帮助,
答案 0 :(得分:0)
import flash.utils.Timer;
import flash.events.TimerEvent;
//class names should be capitalized, fix the symbol name in your library
var cow:MovieClip = new CowMovieClip();
addChild(cow);
cow.x = 0;
cow.y = 0;
cow.addEventListener(MouseEvent.CLICK, push, false, 0, true);
var timer:Timer = new Timer(500);
timer.addEventListener(TimerEvent.TIMER, moveCowBack);
timer.start();
function push(e:MouseEvent):void
{
cow.x += 1;
cow.y += 1;
//once the cow's y position has reached or exceeded 30, you no longer want the timer to move it back
if (cow.y >= 30)
{
timer.removeEventListener(TimerEvent.TIMER, moveCowBack);
allPuzzles.room.cowPushed = true;
}
}
function moveCowBack(e:TimerEvent):void
{
// you don't want the cow to leave the screen, so only move it if the y position is >= 2
if(cow.y >= 2)
{
cow.y -= 2;
}
}