在点击动作时更改变量
我想知道如何使用动作在点击时更改变量。在点击动作时更改变量
我:
private var test:int = 0;
public function thisIsTest():void{
test = test + 1;
}
<mx:Image left="10" bottom="10" source="@Embed(source='Assets/blabla.png')" click="thisIsTest()" buttonMode="true"/>
我想1我每次点击按钮“布拉布拉”添加到变量测试。
问题是它只能工作一次。
谢谢您的帮助
最简单的方法是使用一个MouseEvent
监听器。您将聆听到任何你想被点击,并告诉该功能时,触发一个事件,执行监听器:
var test:int = 0;
image.addEventListener(MouseEvent.CLICK, thisIsTest);
// Will 'listen' for mouse clicks on image and execute thisIsTest when a click happens
public function thisIsTest(e:MouseEvent):void
{
test = test + 1;
trace(test);
}
// Output on subsequent clicks
// 1
// 2
// 3
// 4
这是否意味着像你想监听连接需要可显示对象,就像一个精灵或动画片段,但如果你使用Flash,这应该不成问题。
编辑:注释中注明的进一步行动。
将图像导入到Flash,并用它来生成Sprite
或Movieclip
,并给它一个ActionScript链路ID(如类名):
// Add the image to the stage
var img:myImage = new myImage();
addChild(img);
// Assign the mouse event listener to the image
img.addEventListener(MouseEvent.CLICK, thisIsTest);
谢谢!我的想法是每次点击时将流的缓冲区增加一秒。所以我应该这样做:public function thisIsTest(e:MouseEvent):void { test = test + 1; (测试); trace(test); netStream.bufferTime = test; }? – Marcolac 2013-03-04 15:33:07
我不熟悉流缓冲区,但如果你的语法是正确的,那么是'bufferTime'会每次点击增加1。您可以将“trace(test)'行取出,只需将该变量输出到控制台,以便您可以看到它自己在增加。 – 2013-03-04 15:49:55
非常感谢你!我会尝试你的解决方案并将其标记! – Marcolac 2013-03-04 15:55:05
什么是输出当您添加' trace(test)''在'test = test + 1'这行之后? – James 2013-03-05 12:12:51