这是我第一次来这里,我已经阅读了发布指南。如果我犯了任何错误,请原谅我。
这是我第一次做AS3和Animate CC。我决定做一个项目 - 你点击盔甲,盔甲出现在头像上。与“装扮”游戏大相径庭,但我根本不想拖延。基本上,我希望人们点击一个盔甲图像,然后让它出现在佩戴它的头像上。然而,有多种护甲选项,如衬衫1,衬衫2,皮肤1,皮肤2等。我现在的主要问题是,一旦另一个项目被点击,我无法弄清楚让物品消失的方法,特别是在同一类别,如皮肤。 我已经用Google搜索了两天了,现在还没有解决方案。我找到了一些代码,例如重置,偏移图像以及其他我甚至无法记住的内容。
我非常确定我做错了。这是第4帧的代码,主要问题是。请记住,我在第4帧的主代码的不同部分使用了不同的代码,现在代码完全搞砸了。
编辑:根据要求更新了编码。
import flash.events.MouseEvent;
stop();
function addItem(item:MovieClip,xPos:Number,yPos:Number){
trace(item);
trace(avatar_mc);
avatar_mc.addChild(item);
item.x = xPos;
item.y = yPos;
}
basic_skin_1_button.addEventListener(MouseEvent.CLICK, itemSelect1);
function itemSelect1(e:MouseEvent):void {
addItem(basicskin1_mc,25,40); {
}
}
basic_skin_2_button.addEventListener(MouseEvent.CLICK, itemSelect2);
function itemSelect2(e:MouseEvent):void {
addItem(basicskin2_mc,25,40)
}
答案 0 :(得分:1)
这不是一个完整的答案,但您应该先了解并更新您的代码,然后再继续。
我在这里解决的是如何使一个功能适用于多个场景或输入。这实际上是使用自定义函数的主要目的之一,它将使解决您手头的问题变得更加简单。
function addItem(item:MovieClip,xPos:Number,yPos:Number){
characterImage.addChild(item);
item.x = xPos;
item.y = yPos;
}
然后你可以像这样调用这个函数
addItem(basicskin3_mc,0,0);
然后使用相同的函数添加不同的皮肤:
addItem(basicskin2_mc,0,0);
但我只是传递了一个不同的参数(basicskin2_mc)。
但是当我添加一个新皮肤时,我明白了让旧皮肤被移除。那么现在我只需改变一个功能,而不是尝试更新每种皮肤类型和每种装甲类型等的所有功能。