2012-10-23 88 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