หน้า: [1]
 
ผู้เขียน หัวข้อ: รบกวนเรื่องcode ที่เกี่ยวกับการลบmc  (อ่าน 3981 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
จากcodeนี้
var countobject:Number = 0;
_root.st.onPress = function()
 {
   countobject++;
   duplicateMovieClip(_root.st, "newst"+countobject, _root.getNextHighestDepth());
   _root["newst"+countobject].startDrag();
   _root["newst"+countobject].onPress = function(){
      this.startDrag();  
   }
   _root["newst"+countobject].onRelease = function(){
      this.stopDrag();  
   }
   onMouseUp = function(){
      _root["newst"+countobject].stopDrag();
   }
}
จะเป็นการสร้างmcใหม่ขึ้นมาชื่อnewstเพื่อทำการลากวางและสามารถทำการลากวางได้แบบไม่จำกัดเหมือนกับท๊อปปิ้งในเกมแต่งหน้าเค้ก
ปัญหาคือว่าผมจะทำการลบพวกmc newts ที่ผมทำการลากวางทั้งหมดเพื่อทำการลากวางใหม่อีกชุดอ่ะครับ
ประมาณว่าแต่งหน้าเค้กแล้วเคลียหน้าเค้กใหม่ให้ว่างอะไรประมาณนี้อ่ะครับควรใช้โค๊ตอะไรและใส่ยังไงบ้างครับ
คือผมทำปุ่มRestartไว้แล้วอ่ะครับ แต่ไม่รู้codeลบmcและวิธีการใส่แค่นั้นครับขอบคุณมาก
บันทึกการเข้า
1. เวลาสร้าง ให้เก็บดาวที่สร้างในอาร์เรย์ครับ
2. สั่ง remove โดยการวนลูปในอาร์เรย์ทีละตัวครับ

โค้ด:
var countobject:Number = 0;
//สร้างอาร์เรย์ เพื่อรอเก็บดาวที่ duplicate ไว้
var starCollection:Array = [];

_root.st.onPress = function()
 {
   countobject++;

   //duplicate ดาวเสร็จ ก็เก็บลงอาร์เรย์ทันที
   starCollection.push( duplicateMovieClip(_root.st, "newst"+countobject, _root.getNextHighestDepth()) );

   _root["newst"+countobject].startDrag();
   _root["newst"+countobject].onPress = function(){
      this.startDrag(); 
   }
   _root["newst"+countobject].onRelease = function(){
      this.stopDrag(); 
   }
   onMouseUp = function(){
      _root["newst"+countobject].stopDrag();
   }
}

//ฟังก์ชั่นสำหรับลบดาวทั้งหมดที่ duplicate มา และล้างดาวที่เก็บในอาร์เรย์ทิ้งเลย
function removeAllStar(){
  for(var i = 0; i < starCollection.length; i++){
    starCollection[i].removeMovieClip();
  }
  starCollection = [];
}
บันทึกการเข้า

ขอบคุณมากครับ (แจ๋ว แจ๋ว) แต่จริงๆงานนี้มันไม่ใช่ดาวหรอกแฮะๆที่ผมทำอ่ะมันเป็นพวกท๊อปปิ้งที่ใช้ลากวางและใช้duplicateMovieClip()
ไปด้วยเพื่อให้เป็นการทำซ้ำเพียงแต่ผมทำการลบพวกท๊อบปิ้งที่ผมทำการลากวางไม่ได้ ก็เลยค้นไปค้นมามาเจองานดาวนี้ล่ะเลยขอสอบถามซะเลยเผื่อจะได้นำมาประยุกต์กันได้อ่ะครับแฮะๆูู^^
บันทึกการเข้า
ขอสอบถามต่อหน่อยได้ป่ะครับ
คือจากโค๊ดนี้
var countobject:Number = 0;
_root.st.onPress = function()
 {
   countobject++;
   duplicateMovieClip(_root.st, "newst"+countobject, _root.getNextHighestDepth());
   _root["newst"+countobject].startDrag();
   _root["newst"+countobject].onPress = function(){
      this.startDrag();   
   }
   _root["newst"+countobject].onRelease = function(){
      this.stopDrag();   
   }
   onMouseUp = function(){
      _root["newst"+countobject].stopDrag();
   }
}
เราจะได้เป็นเหมือนกับท๊อปปิ้งลากวางเค้กอ่ะครับ
คือว่าถ้าผมใช้codeลบดาวที่พี่ให้ผมมาผมจะสามารถลบท๊อปปิ้งที่ลากวางอยู่ทั้งหมดได้ป่ะครับ
และถ้าได้ผมควรแก้codeจากที่พี่ให้มาตรงไหนบ้างครับถึงจะลบท๊อปปิ้งได้ครับ
บันทึกการเข้า
ลองแล้วอ่ะครับยังใช้ไม่ได้เลยครับไม่ทราบว่าฟังชั่น
โค้ด:
function removeAllStar(){
  for(var i = 0; i < starCollection.length; i++){
    starCollection[i].removeMovieClip();
  }
  starCollection = [];
}
ควรเอาไปใส่ตรงไหนหรือครัีบ
ปุ่มหรือเฟรม
« แก้ไขครั้งสุดท้าย: 04 ก.พ. 2010, 17:41 น. โดย ก่อสตูดิโอเอ็กซ์ทู » บันทึกการเข้า
ไว้บนเฟรมครับ แล้วจะลบทิ้งเมื่อไหร่ค่อยเรียก

removeAllStar();

ครับ
บันทึกการเข้า

(ขอเบิ้ล)

ขอสอบถามต่อหน่อยได้ป่ะครับ
คือจากโค๊ดนี้
โค้ด:
var countobject:Number = 0;
_root.st.onPress = function()
 {
   countobject++;
   duplicateMovieClip(_root.st, "newst"+countobject, _root.getNextHighestDepth());
   _root["newst"+countobject].startDrag();
   _root["newst"+countobject].onPress = function(){
      this.startDrag();   
   }
   _root["newst"+countobject].onRelease = function(){
      this.stopDrag();   
   }
   onMouseUp = function(){
      _root["newst"+countobject].stopDrag();
   }
}
เราจะได้เป็นเหมือนกับท๊อปปิ้งลากวางเค้กอ่ะครับ
คือว่าถ้าผมใช้codeลบดาวที่พี่ให้ผมมาผมจะสามารถลบท๊อปปิ้งที่ลากวางอยู่ทั้งหมดได้ป่ะครับ
และถ้าได้ผมควรแก้codeจากที่พี่ให้มาตรงไหนบ้างครับถึงจะลบท๊อปปิ้งได้ครับ

ลองปรับให้เหมือนโค้ดที่ผมแปะไปดูน่ะครับ
มันจะมีส่วนที่ push เข้าอาร์เรย์ด้วยครับ
บันทึกการเข้า

หน้า: [1]
 
 
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines | Thai language by ThaiSMF Valid XHTML 1.0! Valid CSS!