จาก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 = [];
}
ขอบคุณมากครับ :45: แต่จริงๆงานนี้มันไม่ใช่ดาวหรอกแฮะๆที่ผมทำอ่ะมันเป็นพวกท๊อปปิ้งที่ใช้ลากวางและใช้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 = [];
}
ควรเอาไปใส่ตรงไหนหรือครัีบ
ปุ่มหรือเฟรม
ไว้บนเฟรมครับ แล้วจะลบทิ้งเมื่อไหร่ค่อยเรียก
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 เข้าอาร์เรย์ด้วยครับ