Actionscript 3 在FlashDevelop中使用FLVplayback,将Sprite类添加到AS3中的世界中

Actionscript 3 在FlashDevelop中使用FLVplayback,将Sprite类添加到AS3中的世界中,actionscript-3,sprite,flashdevelop,addchild,flvplayback,Actionscript 3,Sprite,Flashdevelop,Addchild,Flvplayback,嗨(对不起,如果有语法错误,我是法国人) 我是AS3的初学者,但我更了解Flash朋克;不管怎样,在AS3中编写代码确实有一些困难,我不知道如何使用FlashDevelop在AS3项目中插入视频 我找到了一些我要找的代码,插入一段flv视频,这里: 但我有一些问题,让这个代码工作。。。正如我之前所说,我更了解Flashpunk,所以我很难将基本AS3与我在Flashpunk中的知识联系起来 我试着在课堂上组织代码,但我知道这些都是错误的,但是,有人能告诉我应该怎么做才能让代码正常工作吗?我认为“

嗨(对不起,如果有语法错误,我是法国人)

我是AS3的初学者,但我更了解Flash朋克;不管怎样,在AS3中编写代码确实有一些困难,我不知道如何使用FlashDevelop在AS3项目中插入视频

我找到了一些我要找的代码,插入一段flv视频,这里:

但我有一些问题,让这个代码工作。。。正如我之前所说,我更了解Flashpunk,所以我很难将基本AS3与我在Flashpunk中的知识联系起来

我试着在课堂上组织代码,但我知道这些都是错误的,但是,有人能告诉我应该怎么做才能让代码正常工作吗?我认为“addChild”只是一个Sprite或Movieclip函数,因此我的FLVplayback和PlayerGfx扩展了Sprite,但我不知道如何添加和显示它们。。。这是我的密码:

public class testMyWorld extends World
{
    public var player:PlayerGfx;
    public var _FLV:testFLV;

    public function testMyWorld() 
    {

        _FLV = new testFLV;
        player = new PlayerGfx();

    }

}  


public class testFLV extends Sprite
{
    public var flvPlayback:FLVPlayback;
    public var player:PlayerGfx;

    public function testFLV() 
    {
        flvPlayback = new FLVPlayback(); 
        flvPlayback.skin = "none" 
        flvPlayback.autoPlay = false;
        flvPlayback.source = "FLVSkyrim.flv"    
        player.addChild(flvPlayback);
    }

}
我不知道该放什么,但是在链接中,在有“玩家类”之前,所以

我正在拼命寻找帮助,我找不到任何人可以解释我应该做什么:/I我只需要在AS3项目中为学校显示一个视频,我不想使用FlashProfessional。。。但是我不了解很多事情,比如addChild,显示一个精灵类,等等。。。但是如果你知道我可以使用的其他代码,并且你可以向我解释,我将非常感激

提前谢谢


编辑:天哪,如果我在问这个问题时看到了你的答案,我很抱歉。问题是,我在学校的一位同事给我写了一段非常好的代码,它正好回答了我需要做的事情,因为这有点棘手。我可以把它给任何需要它的人,但我不确定它是否适合任何“通常”的情况,因为它非常个性化,并且解释了irl。无论如何,谢谢你的回答。

为什么你的基本阶级是世界级的?在纯AS3项目中,它应该是一个精灵。 然后,创建播放机(
FLVPlayback
)后,只需将其添加到显示列表:

import fl.video.FLVPlayback;

public class Main extends Sprite
{
    private var flvPlayback:FLVPlayback;

    public function testMyWorld() 
    {    
        flvPlayback = new FLVPlayback(); 
        flvPlayback.skin = "none" 
        flvPlayback.autoPlay = false;
        flvPlayback.source = "FLVSkyrim.flv"    
        addChild(flvPlayback);    
    }

}

简单一点,您不需要所有这些类;)

这很棘手,因为FlashPunk使用自定义的基于位图的渲染器替换显示列表

您的世界对象不是常规显示对象,它无法容纳FLVPlayback组件

最好的选择是将视频播放器连接到舞台上。您的主类(扩展引擎)是一个显示对象,因此它具有对stage的引用

首先,您需要对您的主实例进行全局引用,以便可以找到阶段:

public class Main extends Engine
{
    static public instance:Main; // global static reference

    public function Main():void
    {
         instance = this;
         ...
    }
}
现在,您可以在舞台上附加显示对象(在FlashPunk舞台上):

PS:我实际上并没有运行这个代码

public class Main extends Engine
{
    static public instance:Main; // global static reference

    public function Main():void
    {
         instance = this;
         ...
    }
}
public class testMyWorld extends World
{
    private var player:MyPlayer; // your FLV player class extending Sprite

    public function testMyWorld() 
    {
        player = new MyPlayer();
    }

    // when the world is shown
    override public function begin():void 
    {
         Main.instance.stage.addChild(player);
    }

    // when the world is hidden
    override public function end():void 
    {
         if (player.parent) Main.instance.stage.removeChild(player);
    }
}