Actionscript 3 转到并停止扩展MovieClip外部的MovieClip
我有一个按时间线运行的库存系统。现在,我正试图将它连接到一个类,但我遇到了困难 在我的舞台上,我有一个Actionscript 3 转到并停止扩展MovieClip外部的MovieClip,actionscript-3,function,actionscript,Actionscript 3,Function,Actionscript,我有一个按时间线运行的库存系统。现在,我正试图将它连接到一个类,但我遇到了困难 在我的舞台上,我有一个MovieClip,实例名为InventoryMc 在InventoryMc中,我还有15个MovieClips,其实例名为itemSlot1,itemSlot2等等。。。gotoAndStop功能工作不正常。。。 我没有文档类,只有扩展MovieClips的类 这是我的initialchest类,单击该类可调用库存类中的函数: package { import flash.display.Mo
MovieClip
,实例名为InventoryMc
在InventoryMc
中,我还有15个MovieClips
,其实例名为itemSlot1
,itemSlot2
等等。。。gotoAndStop
功能工作不正常。。。
我没有文档类,只有扩展MovieClips
的类
这是我的initialchest
类,单击该类可调用库存
类中的函数:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class BeginnerChest extends MovieClip {
private var _inventory:Inventory;
public function BeginnerChest() {
_inventory = new Inventory();
addEventListener(MouseEvent.CLICK, begClick);
claimBtn.addEventListener(MouseEvent.CLICK, _inventory.claimClick);
}
public function begClick(e: MouseEvent) {
play();
} //ends startBtnClick;
public function insertText(str) {
return str + "\r"
}
}
}
这是我的目录
课程。。。我去掉了我认为不必要的其他功能。我试图让这个addToslot
函数正常工作,但它似乎从未找到框架Hammer
或其他任何东西。是的,我确实在itemSlots
MovieClip里面贴了标签
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.events.Event;
public class Inventory extends MovieClip{
var Slot1: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot2: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot3: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot4: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot5: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot6: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot7: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot8: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot9: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot10: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot11: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot12: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot13: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot14: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var Slot15: Array = ["empty", "empty", 0]; //[ItemId, Display Name, Sell Price]
var slotClicked: String;
var NewItem = "None";
var BoxesReset: Boolean = false;
var InventoryFull: Boolean = false;
var ItemSelected = "";
var ItemUse = "None";
var CurrentSlot = "None";
var CurrentSlot2 = "None";
var ItemId = "None";
var StoreMode: Boolean = false;
var ItemSellPrice = 0;
var ItemName = "";
var totalChildren = 0;
///// Dynamic Variables /////
var container: MovieClip = new MovieClip;
var btnUse: MenuItem = new MenuItem;
var btnToss: MenuItem = new MenuItem;
var btnClose: MenuItem = new MenuItem;
public function Inventory() {
addEventListener(MouseEvent.CLICK, ItemSlotClick);
}
public function InventoryFullCheck() {
if (Slot1[0] != "empty" && Slot2[0] != "empty" && Slot3[0] != "empty" && Slot4[0] != "empty" && Slot5[0] != "empty" && Slot6[0] != "empty" && Slot7[0] != "empty" && Slot8[0] != "empty" && Slot9[0] != "empty" && Slot10[0] != "empty" && Slot11[0] != "empty" && Slot12[0] != "empty" && Slot13[0] != "empty" && Slot14[0] != "empty" && Slot15[0] != "empty") {
InventoryFull = true;
} else {
InventoryFull = false;
}
}
public function claimClick(e: MouseEvent): void {
addToslot(Hammer);
}
public function addToslot(item) {
if (Slot1[0] == "empty") {
CurrentSlot = "itemSlot1";
(item)(); <---------------------does hammer function at bottom
} else if (Slot2[0] == "empty") {
itemSlot2.gotoAndStop(item);
Slot2[0] = item;
} else if (Slot3[3] == "empty") {
itemSlot3.gotoAndStop(item);
Slot3[0] = item;
} else if (Slot4[0] == "empty") {
itemSlot4.gotoAndStop(item);
Slot4[0] = item;
} else if (Slot5[0] == "empty") {
itemSlot5.gotoAndStop(item);
Slot5[0] = item;
} else if (Slot6[0] == "empty") {
itemSlot6.gotoAndStop(item);
Slot6[0] = item;
} else if (Slot7[0] == "empty") {
itemSlot7.gotoAndStop(item);
Slot7[0] = item;
} else if (Slot8[0] == "empty") {
itemSlot8.gotoAndStop(item);
Slot8[0] = item;
} else if (Slot9[0] == "empty") {
itemSlot9.gotoAndStop(item);
Slot9[0] = item;
} else if (Slot10[0] == "empty") {
itemSlot10.gotoAndStop(item);
Slot10[0] = item;
} else if (Slot11[0] == "empty") {
itemSlot11.gotoAndStop(item);
Slot11[0] = item;
} else if (Slot12[0] == "empty") {
itemSlot12.gotoAndStop(item);
Slot12[0] = item;
} else if (Slot13[0] == "empty") {
itemSlot13.gotoAndStop(item);
Slot13[0] = item;
} else if (Slot14[0] == "empty") {
itemSlot14.gotoAndStop(item);
Slot14[0] = item;
} else if (Slot15[0] == "empty") {
itemSlot15.gotoAndStop(item);
Slot15[0] = item;
} else {
InventoryFull = true;
}
}
public function ClearVars(): void {
ItemUse = "None";
ItemId = "None";
ItemSelected = "None";
HideSelectBoxes();
}
public function Hammer(): void {
trace(CurrentSlot);
Object(root).InventoryMc.itemSlot1.gotoAndStop("Hammer"); <---can't get this to work...
}
} //ends class
} //ends package
包{
导入flash.display.MovieClip;
导入flash.events.MouseEvent;
导入flash.text.TextField;
导入flash.events.Event;
公共类目录扩展了MovieClip{
var Slot1:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot2:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot3:Array=[“empty”,“empty”,0];//[ItemId,显示名称,售价]
var Slot4:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot5:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot6:Array=[“空”、“空”,0];//[ItemId,显示名称,售价]
var Slot7:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot8:Array=[“empty”,“empty”,0];//[ItemId,显示名称,售价]
var Slot9:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot10:Array=[“empty”,“empty”,0];//[ItemId,显示名称,售价]
var Slot11:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot12:Array=[“empty”,“empty”,0];//[ItemId,显示名称,售价]
var Slot13:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot14:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var Slot15:Array=[“empty”,“empty”,0];/[ItemId,显示名称,售价]
var slotClicked:String;
var NewItem=“无”;
var BoxesReset:Boolean=false;
var InventoryFull:布尔值=false;
var ItemSelected=“”;
var ItemUse=“无”;
var CurrentSlot=“无”;
var CurrentSlot2=“无”;
var ItemId=“无”;
var-StoreMode:Boolean=false;
var ItemSellPrice=0;
var ItemName=“”;
var-totalChildren=0;
/////动态变量/////
var容器:MovieClip=新的MovieClip;
var Btuse:MenuItem=新的MenuItem;
var btnToss:MenuItem=新的MenuItem;
var btnClose:MenuItem=新的MenuItem;
公共职能清单(){
addEventListener(MouseEvent.CLICK,ItemSlotClick);
}
公共函数清单fullcheck(){
如果(Slot1[0 0)的话,Slot1[0]0!如果(Slot1[0]0!如果(Slot1[0)0!如果(空洞)以及Slot4[0]0!如果(空洞)以及Slot1[0]0!如果如果(Slot1[0]0)的话!如果“空”以及与Slot1[0]0!以及以及以及以及与Slot3[0]0]0!0!0!如果“空”和Slot3.0!0!0!如果“空”以及以及Slot3[0!以及以及以及以及以及以及以及Slot3[0]0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!以及以及以及以及以及以及以及以及以及以及以及以及以及以及与Slot3[0!0!0!0!0!0!0!0!这两两两两两两两两两两两两个“空”){
InventoryFull=真;
}否则{
InventoryFull=假;
}
}
公共函数请求单击(e:MouseeEvent):无效{
addToslot(锤子);
}
公共功能addToslot(项目){
如果(Slot1[0]=“空”){
CurrentSlot=“itemSlot1”;
(项目)();我知道你并不知道这个网站是如何工作的,尽管你已经问了几个问题,所以欢迎你,带着这个参观团去了解这个网站是如何工作的:我读了它,但不明白我做错了什么。如果你说的是总结这个问题。我想知道如何在一个类中进入和停止。我在中提供了代码案例有帮助。这是非常不清楚的。itemSlot对象在哪里?如果你有一个名为InventoryMc的类和一个名为InventoryMc的对象,你是在自找麻烦;给他们不同的名称,即使只是InventoryMc。我把它作为类名的清单。我最近刚刚更改了它,只是为了看看它是否能工作。一切都能正常工作除了GotoAdStand(“项目”),如果您想从其他类访问这些变量和MOVICOVISH,请考虑<代码>公共var >代码> <代码>公共静态< /代码>。