我有一个由其中的MovieClip城市组成的地图,我在地图MovieClip的顶层有一个点击功能。我尝试这样做,如果我点击一个城市,将绘制一个矩形。这是代码:
function rpress(a)
{
trace( "trying" );
var b:MovieClip = new MovieClip();
b.graphics.beginFill(0xFF0000);
b.graphics.drawRect(0,0,100,80);
b.graphics.endFill();
b.x = 150;
b.y = 150;
addChild( b );
trace("done")
}
执行跟踪命令但不绘制矩形。我试过MovieClip( root ).addChild..., stage.addChild..., MovieClip( parent ).addChild...
和其他人......
完整代码:
双击地图MovieClip-> 84层欢迎使用 - >选择名为“Action Layer”的图层ACTIONS-FRAME:
function rbtxt(a)
{
var _loc2 = a;
var _loc3 = this;
balon._visible = true;
arbtxt = ilad.split(",");
balon.txt.text = arbtxt[_loc2];
_loc3["x" + _loc2].play();
balon._x = _loc3["x" + _loc2]._x;
balon._y = _loc3["x" + _loc2]._y - _loc3["x" + _loc2]._height / 2 + 5;
}
//End of the function
function rbalon(a)
{
balon._visible = false;
this["x" + a].gotoAndStop(1);
}
//End of the function
function rpress(a)
{
trace( "trying" );
var b:MovieClip = new MovieClip();
b.graphics.beginFill(0xFF0000);
b.graphics.drawRect(0,0,100,80);
b.graphics.endFill();
b.x = 150;
b.y = 150;
addChild(b );
trace("done")
}
ilad = "CITY NAMES....."
ilurl = "CITY URLS....."
答案 0 :(得分:1)
您没有显示足够的代码,所以我们只能猜测。通过查看您提供的信息,您可以尝试:
this["x" + a].addChild( b );
或
balon.addChild( b );
但这只是猜测...
答案 1 :(得分:1)
您尝试将影片剪辑添加到舞台,然后像这样执行绘图camamnd
var b:MovieClip = new MovieClip();
addChild(b );
b.graphics.beginFill(0xFF0000);
b.graphics.drawRect(0,0,100,80);
b.graphics.endFill();
b.x = 150;
b.y = 150;
答案 2 :(得分:0)
Sprite可以访问图形,尝试只使用Movieclip复制对象,例如加载的SWF和Flash库资源,基于时间轴的动画和变量等
function drawRect()
{
trace( "trying" );
//var b:MovieClip = new MovieClip();
var b:Sprite = new Sprite();
b.graphics.beginFill(0xFF0000);
b.graphics.drawRect(0,0,100,80);
b.graphics.endFill();
b.x = 150;
b.y = 150;
addChild( b );
trace("done")
}