これは通る
classA public function classA(){ var xxxx:classB = new classB(this); xxxx.zzzz(); }
classB var myContainer:Sprite; var w:uint; var h:uint; public function classB(container:Sprite){ w = container.stage.stageWidth; h = container.stage.stageHeight; myContainer = container; }
classC function zzzz():void{ var zzzz:Sprite = new Sprte(); myContainer.addChild(zzzz); (以下略) }
super()だと 通らないのか あれ?よくわからん
なんかダメ
(やっていることは
AS入門ノート1のP204のところをフレームに書かずにおきたいだけなんですが)
package{ import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var dg:DotGrid = new DotGrid(this); dg.arrange(20,10) } } }
package { import flash.display.Sprite; public class DotGrid extends MakeSprite { var w:uint; var h:uint; public function DotGrid(container:Sprite) { super(container); w = container.stage.stageWidth; h = container.stage.stageHeight; } public function arrange(cntx:uint, cnty:uint):void { var dw:uint = w /cntx; var dh:uint = h / cnty; var i:uint, j:uint; for (i = 0; i < cnty; i++) { var cy:uint = dh * (i+ 0.5); for (j = 0; j < cntx; j++){ var cx:uint = dh*(i+0.5); var cr:uint = Math.ceil(Math.random()*Math.min(dw, dh) / 2); var color:uint = Math.random()*0xFFFFFF; var sp:Sprite = makeCircleSp(cx, cy, cr, color); } } } } }
package{ import flash.display.Sprite; public class MakeSprite extends Sprite{ var myContainer:Sprite; public function Main(container:Sprite){ myContainer = container; } public function makeCircleSp(cx:int, cy:int, cr:int, color:uint):Sprite{ var circleSp:Sprite = new Sprite(); circleSp.graphics.beginFill(color); circleSp.graphics.drawCircle(cx, cy, cr); myContainer.addChild(circleSp); return circleSp; } } }
まんま貼ってみたもののサンプルを
そのままだして良かったのかなとも思う
後で自分で「こんなのも分かってないのかよ」とつぶやきたい。