2012-04-28 95 views
1

为什么这不工作?!动态创建并添加一个动画片段到舞台

stop(); 
var board:MovieClip = new MovieClip(); 
board.width = 60 * 5; 
board.height = 60 * 5; 
board.graphics.clear(); 
board.graphics.beginFill(0xFF0000); 
board.graphics.lineStyle(1, 0x000000); 
board.graphics.drawRect(0, 0, board.width, board.height); 
board.graphics.endFill(); 
this.addChild(board); 
board.x = 40; 
board.y = 40; 

这很简单,已经做了无数次,但它不会为我工作! 我已经将它粘贴到一个动作框架和一个文档脚本中,它们都不起作用! 这令我很沮丧,因为我知道这是对的! 我正在使用Flash CS5.5!

回答

1

如果我没有记错 - 已经有一段时间了 - 那里是否widthheight,直到MovieClip中有某些东西。即使您手动设置尺寸,也没有任何尺寸,所以它们最终保持为0。您必须先添加一个对象或者先画一些东西给graphics,然后才能调整它的大小。

+0

谢谢!我错过了它,我觉得很愚蠢! – BlakcRece 2012-04-28 16:19:06

0

改变这一行:

board.graphics.drawRect(0, 0, board.width, board.height); 

要:

board.graphics.drawRect(0, 0, 60 * 5, 60 * 5); 

为什么:

我可能是错的,我还没有测试,但board.widthboard.height很可能返回0。

+0

哦,我的上帝! o.O 我将代码片段更新为此; 'var board:MovieClip = new MovieClip(); var bW:Number = 60 * 5; var bH:Number = 60 * 5; board.graphics.clear(); board.graphics.beginFill(0xFF0000); board.graphics.lineStyle(1,0x000000); board.graphics.drawRect(0,0,bW,bH); board.graphics.endFill(); this.addChild(board); board.x = 40; board.y = 40;' 它工作!为什么?!这是否是在添加到舞台之前没有尺寸的动画片段? – BlakcRece 2012-04-28 16:12:45

+0

@BlakcRece我甚至不知道为什么我不再回答问题(无视这个,只是发泄)。 – Taurayi 2012-04-28 16:49:11

相关问题