为什么当我在html中发布它时,Action Script 3中的代码无效

时间:2013-12-26 11:58:39

标签: html actionscript-3 flash

为什么当我在html

中发布时,Action Script 3中的代码无效

当我在flash程序中测试它时,我在html中发布它时无法正常工作 某些功能不起作用

import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.DisplayObjectContainer;

// The player SWF file on www.youtube.com needs to communicate with your host
// SWF file. Your code must call Security.allowDomain() to allow this
// communication.
Security.allowDomain("www.youtube.com");

// This will hold the API player instance once it is initialized.
var player:Object;

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));

function onLoaderInit(event:Event):void {
    addChild(loader);
    loader.content.addEventListener("onReady", onPlayerReady);
}

function autoClick():void
{
    //=========================
    //Some nested children, we need to dig through a bit to get to the LargePlayButton
    var safeLoader:DisplayObjectContainer = (loader.content as DisplayObjectContainer).getChildAt(0) as DisplayObjectContainer;
    var videoApplication:DisplayObjectContainer = safeLoader.getChildAt(0) as DisplayObjectContainer;
    var largePlayBtn:DisplayObjectContainer = videoApplication.getChildAt(6) as DisplayObjectContainer; 
    //=========================
    //And finally dispatching our event to this button. It will think that a person has clicked it
    largePlayBtn.dispatchEvent(new MouseEvent(MouseEvent.CLICK, 
                                       true, 
                                       true, 
                                       stage.stageWidth / 2,
                                       stage.stageHeight / 2));

}

function onPlayerReady(event:Event):void {
    // Event.data contains the event parameter, which is the Player API ID 
    trace("player ready:", Object(event).data);

    // Once this event has been dispatched by the player, we can use
    // cueVideoById, loadVideoById, cueVideoByUrl and loadVideoByUrl
    // to load a particular YouTube video.
    player = loader.content;
    // Set appropriate player dimensions for your application
    player.setSize(300, 250);

    player.cueVideoById("zlOB8nPdPG8",0);
    //====================================================
    //As long as player is loaded we can call our function
    autoClick();
}

请求帮助我快速解决这个问题

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码,HTML确实有效。 只是如果你双击打开它就无法工作,它需要在网络服务器中打开它。您的计算机上是否安装了Apache / MAMP / XAMMP / Appserv?