我偶然发现了一个我似乎不知道如何解决的问题。我在网上搜索过,但没有找到答案。这是当你点击屏幕上的怪物时,它会增长,但是当你不点击它时,它会恢复到默认大小。我已经设法让它在轻敲时成长,但我似乎无法做到这一点,当你释放水龙头它缩小。我所谈论的一个例子是关于cookie点击器,当你点击大饼干时,它会增长,但是当你没有它变成原始大小时。到目前为止,这是我的代码:
var score:Number = 0;
var score_str:String;
var score_str_len:int;
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
Monster.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler);
Monster.width = 363.5;
Monster.height = 344.9;
function fl_TapHandler(event:TouchEvent):void
{
Monster.width = 378.4;
Monster.height = 359;
score = score + 1;
score_str = score.toString();
score_str_len = score_str.length;
Taps_txt.text =
score_str_len > 3
? score_str.substr(0, score_str_len-3) + ',' + score_str.substr(score_str_len-3)
: score_str
;
}
非常感谢帮助。
答案 0 :(得分:0)
如何将所有怪物存储在数组中?
var monsters:Vector.<Monster> = new Vector.<Monster>();
monsters.push(new Monster());
monsters.push(new Monster());
monsters.push(new Monster());
for(var monster : monsters) {
if(monster.isTapped){
monster.grow()
} else {
monster.shrink()
}
}
答案 1 :(得分:0)
根据actionscript reference,您可以使用许多其他触摸事件,例如TouchEvent.TOUCH_OUT或TouchEvent.TOUCH_END。
我还没有使用它们,所以我无法告诉你哪一个会对你有所帮助,但你可以进行一些测试,看看当你从怪物身上移开手指时会发生哪些事件,就像你对鼠标事件一样。
所以基本上你会为释放touchevent添加另一个监听器(最好是在fl_TapHandler函数内)并将怪物变量恢复到正常水平。
如果你想拥有几个怪物,最好的方法是为它创建一个类并调用这个类中的函数。例如:
Monster.addEventListener(TouchEvent.TOUCH_TAP, Monster.fl_TapHandler);
我希望这会有所帮助。