irpg Community
คำสั่งหยุดเกมแบบง่ายๆ - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella Game Maker Academia (https://irpg.in.th/forum-29.html)
+--- Forum: The Great Game Maker Library (https://irpg.in.th/forum-31.html)
+--- Thread: คำสั่งหยุดเกมแบบง่ายๆ (/thread-1529.html)



คำสั่งหยุดเกมแบบง่ายๆ - jin - 11-20-2013

เมื่อเราต้องการให้ เกมหยุด เมื่อมีออบเจ็คใดออบเจ็คหนึ่งปรากฏออกมา เช่นกรอบคำพูด
ให้เราใช้คำสั่ง
screen_refresh()
keyboard_wait()
io_clear()
ตามนี้เลยครับ


วิธีการใช้ สมมุติว่า เราต้องการให้เกมส์หยุด เมื่อมีกรอบคำพูดขึ้นมา

1-สร้าง obj_Slost ขึ้นมาเป็น object ที่เราควบคุม หรือ ตัวผู้เล่นนั่นเอง (ท่านสามารถตั้งชื่ออื่นก็ได้เช่น obj_jnkillerqueen_goodman หรือ obj_demonking_gasmask ตามใจชอบได้เลยครับ)
2-สร้าง object ที่2 ขึ้นมา คือออบเจ็ค คู่สนทนาของเรา สมมุติว่าชื่อ obj_natsuki_zombie แล้วกันน่ะครับ
3-สร้างออบเจ็ก กรอบคำพูดขึ้นมา จะวาดเป็นกรอบตะโกน กรอบความคิด กรอบกระซิบ แบบในการ์ตูนแบบไหนก็ตามสบายเลยครับ ในที่นี้ผมสมมุติว่า obj_talk1 น่ะครับ
4- ตั้งค่า create ของ obj_talk1 ดังนี้ alarm[0] = 30

obj_talk1 - create = alarm[0] = 30
alarm[0] = screen_refresh()
keyboard_wait()
io_clear()

5-นำ obj_talk1 ไปยัดใส่ใน obj_natsuki_zombie ตั้งให้เมื่อ obj_natsuki_zombieเกิดมาแล้วแสดง obj_talk1
ทีนี้ เมื่อ obj_talk1 เกิดขึ้นมา ภายในเกมส์จะหยุดครับ จนกว่าเราจะกด ปุ่มใดปุ่มหนึ่งบนคีย์บอร์ดครับ



อธิบายยากครับ เอาตัวอย่างไปลองทดสอบดูดีกว่า นอกจากนี้ยังสามารถเปลี่ยนแปลงอะไรอีกหลายๆอย่างเพื่อเพิ่ลูกเล่นให้ตัวเกมส์ได้ด้วยครับ

ดาวโหลด ลิ้งตัวอย่าง http://www.mediafire.com/download/8wri8u6z2bu4fyr/pause_object.rar


RE: เกมเอย เจ้าจงหยุดเมื่อข้าปรากฏ - arkman - 11-21-2013

เอาไปใช้กับปุ่มหยุดเกมได้เลยสินะครับ ได้สาระมากเลย

ปล.ตอนแรกตอบกระทู้ไม้ได้ เพราะหัวข้อกระทู้ยาวเกินไปครับ ตัดให้สั้นๆกระชับหน่อยนะครับ


RE: เกมเอย เจ้าจงหยุดเมื่อข้าปรากฏ - gol-a-khung - 11-21-2013

screen_refresh(); คำสั่งหยุดเกมส์

keyboard_wait(); ใช้ในการ รอรับค่าแป้นพิมพ์และเมาส์ เมื่อมีการกด

io_clear(); ใช้ในกรณีที่ต้องการยกเลิกคำสั่งปุ่มกดของแป้นพิมพ์และการกดเมาส์ เช่น ก่อนการหยุดเกมส์ เราได้กดแป้นพิมพ์ปุ่มใดปุ่มหนึ่งไว้ คำสั่งนี้จะทำการยกเลิกค่าการกดทั้งหมดนั้นเอง
ในทางกลับกัน ถ้าไม่มีคำสั่งนี้ค่าการกดแป้นพิมพ์หรือการกดเมาส์ จะถูกเก็บค่าไว้ทันที

ดังนั้นเราจึงเห็น 3 คำสั่งนี้ใช้อยู่ด้วยกันตลอด เปรียบเสมือนเพื่อนกันก็ว่าได้ครับ

ปล.ผมยังไม่ได้ลองดูนะครับ ไม่รู้ว่าอธิบายถูกหรือเปล่า ถ้าผิดบอกด้วยนะครับ ผมลองเกาะจากโค้ดของต่างชาติมาครับ

โค้ดตัวอย่างที่ใช้ดูครับ
scr_Pause code:

//There is Pause Code.
{
draw_set_font(font_Pause);
draw_set_color(c_blue);
draw_set_halign(fa_center);
draw_text(room_width/2,100, 'Game Paused. Press any key to continue');
screen_refresh();
keyboard_wait();
io_clear();
}

Happy Watching! Smile


EDIT!!!:

{
draw_set_font(ADD FONT HERE!);
draw_set_color(c_black);
draw_set_halign(fa_center);
draw_text(room_width/2,100,'Game Paused. Press P to continue.');
screen_refresh();
{ if keyboard_check_pressed(ord("P")) { io_clear(); } }
}

For better pause event!!!
เครดิตโค้ด : http://www.youtube.com/watch?v=Y9QM5iDi1ZU


RE: คำสั่งหยุดเกมแบบง่ายๆ - jin - 11-21-2013

ผมบอกแล้วให้คุณเอ้ตั้ง สุดท้ายคุณเอ้ก็ต้องมาแก้ไขอยู่ดีคับ


RE: คำสั่งหยุดเกมแบบง่ายๆ - slost - 11-22-2013

ทำไมต้องใช้ผมเป็นชื่อ object ด้วย /ohgod


RE: คำสั่งหยุดเกมแบบง่ายๆ - jin - 11-22-2013

(11-22-2013, 01:45 PM)slost Wrote: ทำไมต้องใช้ผมเป็นชื่อ object ด้วย /ohgod


เป็นการสมมุติ ให้เห็นภาพง่ายๆครับ ท่าน อย่าซีเรียสครับ
ถ้าผมตั้งว่า obj_natariodiovocalanino มันก็ไม่มีใครรู้จักน่ะซิครับ
เลยต้องเอาชื่อที่คุ้นๆ คนจะได้จำง่ายๆ เช่น

obj_slost คุยกับ obj_natsuki มันจะเห็นภาพง่ายกว่า
obj_natariodiovocalanino คุยกับ obj_natariodiovocalaninovelasimilano_the_Third
ไช่ไหมครับ


RE: คำสั่งหยุดเกมแบบง่ายๆ เจอปัญหา ครับ - jin - 03-04-2014

อัพเดต ชุดคำสั่ง คำสั่ง

คำสั่ง
screen_refresh()
keyboard_wait()
io_clear()
สามารถใช้ได้แค่ gamemaker 8.1 เท่านั้น ซึ่งถ้าเป็นเวอชั่นที่สูงขึ้นไปเช่น Gamemaker studio
จะไม่สามารถ ใช้งานใด้ ใน Gamemaker studio นะครับ ทดลองแล้วกับตัวเอง
จะเกิดการเออเรอและไฟล์เกมส์ไม่สามารถรันได้

รบกวนผู้ที่มีความรู้ด้าน Gamemaker studio มาแนะนำทีครับว่า
ถ้าต้องการวิธีที่คล้ายๆกัน ต้องใช้คำสั่งใด ในการเขียนสคริป