我正在尝试创建一个不会崩溃我的Flash应用程序的循环。我希望变量CN从1到10,然后10变成1(1,2,3,4,5,6,7,8,9,10,1 ....)。这就是我到目前为止......
var CN:int = 1;
for(int CN = 1; CN<100; CN++);
NumberCounter.text = String(CN);
请帮忙。我根本没有得到这个:(我是一个新手程序员,所以我做的很多事情都没有多大意义。
答案 0 :(得分:1)
你的问题有点不清楚。您是想尝试从1到10再从10到1(20步)或者在100步之间来回1到10之间?
如果是第一个,你可以尝试这样的事情:
for(var i:int = 0, j:int = 0; i < 20; i++){
if(i < 10) j++;
else j--;
trace(j);//put this in your text field
}
如果是第二个:
for(var i:int = 0; j:int = 1, k:int = 0; i < 100; i++){
if(i % 10 == 0) j *= -1; //every 10 steps flip (multiply by -1) the increment direction(increase/decrease)
k += j;//increment k based on j which will either increase or decrease
trace(k);//use this value
}
然而,文本字段会立即更新。如果要及时显示此更改,可以使用ENTER_FRAME事件(而不是for循环)或补间引擎来设置值的动画
答案 1 :(得分:0)
对于无限循环:
while(true){
for(var CN:int=1; CN <= 10; CN ++) NumberCounter.text = String(CN);
}
要做10次,看起来你的代码暗示着:
for (int x= 0; x< 10; x++){
for(var CN:int=1; CN <= 10; CN ++) NumberCounter.text = String(CN);
}
答案 2 :(得分:0)
试试这个
如果(CN→1) {
var CN:int = 1; for(int CN = 1; CN&lt; 10; CN ++);
NumberCounter.text = String(CN); } 其他 { }
答案 3 :(得分:0)
var Numberofwins = 0;
CN.addEventListener(Event.ENTER_FRAME, checkFrame);
function checkFrame(event:Event):void{
if(CN.currentFrame == 11){
CN.gotoAndPlay(1);
}
}
import flash.events.MouseEvent;
Submit.addEventListener(MouseEvent.CLICK, CheckIf8);
function CheckIf8(event:MouseEvent):void
{
if(CN.currentFrame == 8)
{
Numberofwins++;
trace (Numberofwins);
Scorebox.text = String(Numberofwins);
}
else
{
gotoAndStop("Loose1");
}
}
这是我的解决方案