2012-10-23 59 views
0

我试图通过把一些随机的广场舞台上做了地形,但我不能这样做,这是我的代码。地形生成AS3

import flash.display.Sprite; 


var i:Number; 
var h:Number = 0; 
var black:Sprite = new Sprite; 


for (i = 0; i < 600; i++) 
{ 
    if (randon <= 0.5) 
    { 
     i += 40; 
     black.graphics.beginFill(000000); 
     black.graphics.drawRect(i,h,40,40); 
     black.graphics.endFill(); 
     addChild(black); 
    } 

    if (randon>=0.5) 
    { 
     i += 40; 
    } 
} 


var randon:Number; 
randon = Math.random(); 
+0

我不明白'h'定义任何地方... – Daniel

+0

无论如何,当我定义它,randon的它说,这是NaN – Henke

+0

放“randon”上述值的for循环.. – Ronnie

回答

3
import flash.display.Sprite; 

var h:Number=0; 
var black:Sprite = new Sprite() ; // missing constructor 
addChild(black); 

for (var i:int=0; i<600; i+=40) // can do definition in here - int is preferred 
{ 
    if (Math.random()<=0.5) // inline 
    { 
     black.graphics.beginFill(000000); 
     black.graphics.drawRect(i,h,40,40); 
     black.graphics.endFill(); 
    } 
} 
+0

谢谢,这正是我想要的 – Henke

+1

添加少量:“我+ = 40”,如果它会在同一个不需要这两种情况。只需使用 “为(VAR我:= 0;我<600; I + = 40)” –

+0

好点的,也没有必要保持'addChild'ing - 更新答案 – Daniel