ขอถามเรื่องการ Random Id มอนเตอร์เพื่อสร้างมาใช้หน่อยครับ - Printable Version +- irpg Community (https://irpg.in.th) +-- Forum: irpg Fabella Game Maker Academia (https://irpg.in.th/forum-29.html) +--- Forum: Game Maker Engine School (https://irpg.in.th/forum-30.html) +--- Thread: ขอถามเรื่องการ Random Id มอนเตอร์เพื่อสร้างมาใช้หน่อยครับ (/thread-2877.html) |
ขอถามเรื่องการ Random Id มอนเตอร์เพื่อสร้างมาใช้หน่อยครับ - iceman30107 - 05-29-2016 มีความสงสัยมาอีกแล้วครับ คือในฉากต่อสู้ที่ผมทำผมอยากให้มีมอนเตอร์ที่ไม่เหมือนกันทีนี้ผมงงว่าจะดึงเอา Id ของมอนเตอร์มาอ้างอิงในการสร้างยังไงอะครับ สมมติ ผมกำหนด Id ใน obj_enemy_1 //Create Event// e_id = 1 obj_enemy_2 //Create Event// e_id = 2 obj_enemy_3 //Create Event// e_id = 3 แล้วใน obj_control ของฉากต่อสู้ ผมก็ให้ Random Id e_rand = choose(1,2,3) ตอนสั่งสร้าง obj แบบนี้มันสร้างได้แค่ obj_enemy_1 ตัวเดียว enemy1 = instance_create(x , y ,obj_enemy_1) ตรงที่งงคือผมจะเอา Id ที่ Random ได้ไปอ้างเพื่อสร้าง obj_enemy อื่นๆยังไงเพื่อให้สร้างมอนเตอร์ได้หลายๆ แบบอะครับ ในเมื่อตอนที่ instance_create มันสร้าง obj RE: ขอถามเรื่องการ Random Id มอนเตอร์เพื่อสร้างมาใช้หน่อยครับ - arkman - 05-30-2016 รอผู้ที่เขียนโปรแกรมได้มาตอบครับ อันนี้เกินปัญญาผมจริงๆ RE: ขอถามเรื่องการ Random Id มอนเตอร์เพื่อสร้างมาใช้หน่อยครับ - sitplay - 05-30-2016 ไม่รู้ใช้คำตอบที่ต้องการหรือเปล่า สมมุติในฉากสู้กำหนดให้ศัตรู ออกมาสูงสุด 3 ตัว var obj = noone randomize(); var emax = irandom(2); //0 1 2 //สร้าง ตัวแปล เก็บ ศัตรู for(var i=0;i<emax;i++){ enemy[i]=noone; } //ทำการ random ศัตรู for(var n=0;n < emax ; n++){ randomize(); e_ran = choose(1,2,3); if e_ran == 1 obj=obj_enemy_1 if e_ran == 2 obj=obj_enemy_2 if e_ran == 3 obj=obj_enemy_3 enemy[n] = instance_create(x,y,obj); } หรือ for(var n=0;n < emax; n++){ randomize(); e_ran =choose(obj_enemy_1,obj_enemy_2,obj_enemy_3) enemy[n]= instance_create(x,y+(n*32),e_ran); } เวลาจะอ้างถึง ก็ ใช้อันดับ อ้างถึงศัตรูได้เลย เช่น เพราะเราใส่ enemy ไว้ใน array ที่เรียงจาก 0 1 2 RE: ขอถามเรื่องการ Random Id มอนเตอร์เพื่อสร้างมาใช้หน่อยครับ - iceman30107 - 06-01-2016 คิดว่าน่าจะใช่แบบนี้ เดี๋ยวขอลองไปทำดูครับ ขอบคุณมากครับ |