【问题标题】:Newly created objects don't render in Flash新创建的对象不会在 Flash 中呈现
【发布时间】:2013-08-02 18:58:57
【问题描述】:

我刚刚学习 Flash/Actionscript 3,我正在尝试使用已经放置在场景中的对象创建一个新对象,这是它的代码:

package 
{

import flash.display.MovieClip;
import flash.events.MouseEvent;

public class Scene1 extends MovieClip
{
    {
        {
            {
                var theRoot:MovieClip = MovieClip(root);
                var mouse:mouse1 = new mouse1();


                //Scene1(void);
                //onClipEvent(30);


                function Scene1():void
                {               this.addEventListener(MouseEvent.MOUSE_MOVE, Joe);



                }


                public function Joe(event:MouseEvent):void
                {
                    mouse.x = mouseX;
                    mouse.y = mouseY;
                    mouse.x = 160;
                    mouse.y = 160;
                    trace(mouse.x + " " + mouse.y + " " + mouse.z);
                }
            }
        }
        }}};

它确实会按照应有的位置 (160,160) 跟踪位置,bu 对象不会渲染,即使我更改了 Z.. 不过,无论如何,没有任何对象会在他们的视野中阻挡它。

这是鼠标1:

package 
{

import flash.display.MovieClip;
import flash.events.MouseEvent;


public class mouse1 extends MovieClip
{
    {
        {
            var theRoot:MovieClip = MovieClip(root);


            mouse1(void);
            //onClipEvent(30);


            function mouse1():void
            {
                //this.z = -20;

                trace("WROKZZZ");
            }


            public function Joe(event:MouseEvent):void
            {
                //this.x = mouseX;
                //this.y = mouseY;
            }
        }
    }
    }};

【问题讨论】:

  • 您尚未将鼠标对象添加到显示列表中。在var mouse:mouse1 = new mouse1(); 之后尝试addChild(mouse); 或全部在一行中:var mouse:mouse1 = addChild(new mouse1()) as mouse1;
  • 我试过了,它说这是一个无法识别的函数,然后我在 Scene1 函数中尝试了 this.addChild,它似乎没有做任何事情:/
  • mouse1的班级在哪里?那看起来像什么?
  • 您是否已将 mouse1 类链接到库项目?
  • 是我自己还是看起来你的类定义中有太多的 {}?另外,请尝试 stage.addChild(mouse)。

标签: actionscript-3 flash object


【解决方案1】:

除了使用new 创建对象外,还需要在渲染之前将其添加到显示列表(参见此处:http://www.adobe.com/devnet/flash/quickstart/display_list_programming_as3.html),因此请使用stage.addChild(mouse) 来执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 2018-05-09
    • 2016-01-18
    • 1970-01-01
    • 2017-10-24
    相关资源
    最近更新 更多