รบกวนเรื่องcode ที่เกี่ยวกับการลบmc

เริ่มโพสต์โดย jetphol, 30 ม.ค. 2010, 15:04 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

jetphol

จาก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และวิธีการใส่แค่นั้นครับขอบคุณมาก

กากก่อเกรียนนู้บ

อ้างคำพูดจาก: ก่อสตูดิโอเอ็กซ์ทู เมื่อ 01 ก.พ. 2010, 12:04 น.
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 = [];
}

jetphol

ขอบคุณมากครับ :45: แต่จริงๆงานนี้มันไม่ใช่ดาวหรอกแฮะๆที่ผมทำอ่ะมันเป็นพวกท๊อปปิ้งที่ใช้ลากวางและใช้duplicateMovieClip()
ไปด้วยเพื่อให้เป็นการทำซ้ำเพียงแต่ผมทำการลบพวกท๊อบปิ้งที่ผมทำการลากวางไม่ได้ ก็เลยค้นไปค้นมามาเจองานดาวนี้ล่ะเลยขอสอบถามซะเลยเผื่อจะได้นำมาประยุกต์กันได้อ่ะครับแฮะๆูู^^

jetphol

ขอสอบถามต่อหน่อยได้ป่ะครับ
คือจากโค๊ดนี้
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จากที่พี่ให้มาตรงไหนบ้างครับถึงจะลบท๊อปปิ้งได้ครับ

jetphol

#4
ลองแล้วอ่ะครับยังใช้ไม่ได้เลยครับไม่ทราบว่าฟังชั่น
function removeAllStar(){
 for(var i = 0; i < starCollection.length; i++){
   starCollection[i].removeMovieClip();
 }
 starCollection = [];
}

ควรเอาไปใส่ตรงไหนหรือครัีบ
ปุ่มหรือเฟรม

กากก่อเกรียนนู้บ

ไว้บนเฟรมครับ แล้วจะลบทิ้งเมื่อไหร่ค่อยเรียก

removeAllStar();

ครับ

กากก่อเกรียนนู้บ

(ขอเบิ้ล)

อ้างคำพูดจาก: jetphol เมื่อ 01 ก.พ. 2010, 15:10 น.
ขอสอบถามต่อหน่อยได้ป่ะครับ
คือจากโค๊ดนี้
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 เข้าอาร์เรย์ด้วยครับ

SMF 2.1.7 © 2026, Simple Machines