2010-09-17 61 views
1

我有以下代码:AS2附加电影和使用loadMovie

var theItems:String = "4 3 6 19 20 40 41 4 3 6 19 20 40 41" 

var titems = theItems.split(" "); 

var nextLine = 0; 
var LastSlotID = 0; 
var LastX = 0; 
var LastY = 0; 
var slotsM = 0; 
for (var i in titems){ 
     var thisitem:Number = titems[i]; 
     ThisSlotID = LastSlotID + 1; 
     if(LastSlotID == 0){ 
      var thisSlot = Slots.attachMovie("InventorySlot", "slot"+ThisSlotID, Slots.getNextHighestDepth(), {itemID:thisitem});// the start slot 
      thisSlot._y = LastY; 
      thisSlot._x = LastX; 
      LastSlotID = ThisSlotID + 1; 
      slotsM = slotsM + 1; 
     // loadMovie("http://mmysite.com/"+thisitem+".swf", thisSlot); 
      //delete mySlot 
     } else { 
      var thisSlot = Slots.attachMovie("InventorySlot", "slot"+ThisSlotID, Slots.getNextHighestDepth(), {itemID:thisitem});// the start slot 
      //thisSlot._y = LastY + ; // do this ONLY if a 4th slot 
      if(slotsM == 3){ 
      // trace("removing" +slotsM) 
       thisSlot._y = LastY + 62.9; 
       slotsM = 1; 
       thisSlot._x = 0; 
       LastY = thisSlot._y 
       LastX = thisSlot._x 
      } else { 
       //trace(slotsM) 
       thisSlot._x = LastX + 84.9; 
      thisSlot._y = LastY 

      LastSlotID = ThisSlotID + 1; 
      slotsM = slotsM + 1; 

      LastY = thisSlot._y; 
      LastX = thisSlot._x; 
      } 


      //delete mySlot 
     } // end of slot if 0 or not 
     loadMovie("http://mysite.com/"+thisitem+".swf", thisSlot); 
     var mySlot = eval("slot"+ThisSlotID); 
     mySlot.onPress = function(){ 
       trace("" + mySlot['itemID']); 
       trace(mySlot) 
     } 

} 

在帧0。SWF文件加载和我看到他们在槽孔MC。但是当我点击了该插槽中加载的SWF不会在所有

+0

什么是老虎类追查什么?你的完整代码是什么?你在哪里添加Slot到舞台? – Eugene 2010-09-20 00:56:12

+0

它可能与您使用'eval()'获取mySlot的方式有关。为什么不在这个剧情上添加监听器?另外,尝试追踪“Foo”。也许这只是一个范围问题。 – 2011-04-06 20:46:58

回答

0

变化

loadMovie("http://mysite.com/"+thisitem+".swf", thisSlot); 
var mySlot = eval("slot"+ThisSlotID); 
    mySlot.onPress = function(){ 
      trace("" + mySlot['itemID']); 
      trace(mySlot)  
    } 

var mySlot = loadMovie("http://mysite.com/"+thisitem+".swf", thisSlot); 
     mySlot.onPress = function(){ 
      trace("" + mySlot['itemID']); 
      trace(mySlot)  
}