我是flash的新手,但我已经为我的动画片段拖放了代码,因此可以通过这种方式操作它们。但我希望能够根据用户点击电影场景的位置显示图像。在鼠标X和Y上加载图像onClick的代码是什么?谢谢
答案 0 :(得分:2)
您正在寻找的代码与其他答案略有不同。
import flash.display.Loader;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLRequest;
var loader:Loader;
var toLoad:URLRequest;
stage.addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
function clicked(evt:MouseEvent):void
{
//if loader already exists, remove it from stage
if(loader)
{
removeChild(loader);
}
loader = new Loader();
toLoad = new URLRequest("image.png");
loader.load(toLoad);
addChild(loader);
//listen for when load completes
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCompleted, false, 0, true);
}
function loadCompleted(evt:Event):void
{
//center to mouse position
loader.x = (mouseX - (loader.contentLoaderInfo.width)/2);
loader.y = (mouseY - (loader.contentLoaderInfo.height)/2);
}
答案 1 :(得分:0)
我主要是一名Flex开发人员,但是这个AS3的代码片段在Flash中也适合你:
addEventListener(MouseEvent.CLICK,myMouseHandler);
private function myMouseHandler(event:MouseEvent):void
{
var swfLoader:SWFLoader=new SWFLoader();
swfLoader.source="http://www.google.com/images/logos/ps_logo2.png";
swfLoader.x=mouseX;
swfLoader.y=mouseY;
addChild(swfLoader); //note in flex 4 adding to container need to use addElement otherwise this code executes in there fine as well.
}
AS3的文档非常详尽,可在此处找到:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html 他们在这个版本的文档中做得很好,在页面顶部为您提供过滤器,仅查看Flash中可用的项目或使用Flex框架或使用AIR。快速分解所有这些:AS3是用于编写代码的脚本语言,这些代码被编译成所谓的AS3字节码(通常都在带有swf或swc扩展名的文件中),然后由Flash插件解释。浏览器。 MXML是一种“声明性标记语言”,它在外观上与HTML非常相似,使用标记和嵌套来表示父/子的关系(它们都是松散的XML),MXML被编译为AS3然后再编译为AS3字节码,并再次由flash插件。关于Flex的好处是提供了大量的预构建组件,并且框架为如何创建具有良好定义的生命周期的可扩展组件创建了一组强大的规则(您知道它只创建一次,您只知道更新需要更新的部分,即createChildren,commitProperties,measure等)。 AIR是adobe集成的运行时,它基本上是桌面的flash播放器,它可以在浏览器之外生活,因此不限于浏览器允许的功能(由于安全问题,许多操作被浏览器阻止),基本上AIR是与Flex + Desktop相关的好东西。我知道这不仅仅是你的要求,但我希望你能发现这个信息很有用。
祝你好运,肖恩