Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在MovieClip ActionScript 3中绘制角度_Actionscript 3_Movieclip - Fatal编程技术网

Actionscript 3 在MovieClip ActionScript 3中绘制角度

Actionscript 3 在MovieClip ActionScript 3中绘制角度,actionscript-3,movieclip,Actionscript 3,Movieclip,我有一张由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.endF

我有一张由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…
和其他

你知道吗?谢谢大家!

完整代码:

双击map 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....."

您没有显示足够的代码,因此我们只能猜测。通过查看您提供的信息,您可以尝试:

this["x" + a].addChild( b );


但这只是猜测…

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")
}

嗨,尝试将电影剪辑添加到舞台上,然后像这样执行绘图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;

雪碧,但如何?像变量b:Sprite=newsprite()?如果你的意思是它不起作用。。。它给出了“'Sprite'无法加载”错误。您可以发布您的.fla或完整代码吗?很好,rpress()函数看起来不错,所以它一定是其他函数。好的,我现在就编辑我的帖子。仍然没有太多上下文,rpress()是如何调用的?你说你试过stage.addChild(b)但仍然没有看到矩形?以后如何去掉矩形?单击城市电影剪辑时,会调用rpress(),如在(release){u parent.rpress(a);}上单击城市电影剪辑,我们可以使用Shape类来实现更为简约和轻量级的效果。顺便说一句,我不知道你为什么会被否决,因为这是一个很好的观点,反正不是我,我需要150个名声才能如此残忍;)形状类将是最有效的。。。这不是问题的答案,在评论中更合适。我来这里不是为别人做工作,而是为他们指出正确的方向。从现在起,我将只发布AdobeLive文档的链接。人啊。
 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;