[GML]การโหลดทรัพยากรภายนอก - 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: [GML]การโหลดทรัพยากรภายนอก (/thread-736.html) |
[GML]การโหลดทรัพยากรภายนอก - gol-a-khung - 11-05-2012 คำสั่งโหลดทรัพยากรจากภายนอก สวัสดีครับ ผมนายโกลเอ้เจ้าเก่า วันนี้เสนอการดึงเอาไฟล์ที่เตรียมไว้มาใส่ในเกมส์ครับ สำคัญมากในกรณีที่เกมส์ของเรามันใหญ่เวอร์ (เจ้าตัวก็เป็นปัญหานี้ เพราะกราฟฟิคที่ใช้มันใหญ่จริงๆ ทำให้การโหลดเกมส์ช้ามากมายแถมสิ้นเปลืองหน่วยความจำโดยใช่เหตุ) หลักๆเลยจะมีการโหลดทรัพยากร 3 แบบอย่างด้วยกัน คือ 1. การโหลดภาพตัวละครหลัก 2. การโหลดภาพประกอบฉาก 3. การโหลดเสียงประกอบฉากและเสียงเอฟเฟคต่างๆ โฟเดอร์ในการเก็บข้อมูลจำเป็นต้องอยู่ที่เดียวกันกับตัวรันเกมส์นะครับ ย้ำนะครับโฟเดอร์ในการเก็บข้อมูล ในตัวอย่างข้อมูลต่างๆ จะจัดอยู่ที่โฟเดอร์ชื่อ data ครับ มาดูอย่างแรกกันครับ การโหลดภาพตัวละคร (Sprite) คำสั่ง sprite_add(fname,imgnumb,removeback,smooth,xorig,yorig) อธิบายคำสั่ง จะเริ่มต้นด้วย sprite_add ตามด้วยภายในวงเล็บ (fname,imgnumb,removeback,smooth,xorig,yorig) fname คือ ตำแหน่งในการเก็บข้อมูล โดยขึ้นรูปประโยคว่า working_directory + "ที่อยู่ของข้อมูลพร้อมข้อมูล.นามสกุล" imgnumb คือ ลำดับภาพของข้อมูลภาพ removeback คือ ลบสีพื้นหลังภาพออก กำหนดโดย true กับ false smooth คือ การปรับความคมชัดของภาพ กำหนดโดย true กับ false xorig คือ การกำหนดค่าเริ่มต้นของภาพในแนวแกน x (อ้างอิงจากค่าพิกเซลภาพเป็นหลัก) yorig คือ การกำหนดค่าเริ่มต้นของภาพในแนวแกน y (อ้างอิงจากค่าพิกเซลภาพเป็นหลัก) ตัวอย่างคำสั่ง sprite_add(working_directory + "\data\ex_001.gif",1,false,true,false,true,0,0); แบบที่ 2 ครับ การโหลดภาพประกอบฉาก คำสั่ง background_add(fname,removeback,smooth) อธิบายคำสั่ง เริ่มด้วยคำสั่ง background_add ตามด้วยภายในวงเล็บ (fname,removeback,smooth) fname คือ ตำแหน่งในการเก็บข้อมูล โดยขึ้นรูปประโยคว่า working_directory + "ที่อยู่ของข้อมูลพร้อมข้อมูล.นามสกุล" removeback คือ ลบสีพื้นหลังภาพออก กำหนดโดย true กับ false smooth คือ การปรับความคมชัดของภาพ กำหนดโดย true กับ false ตัวอย่างคำสั่ง background_add(working_directory + "\data\ex_002.bmp",false,false,false); แบบสุดท้าย การโหลดเสียงประกอบฉากและเสียงเอฟเฟคต่างๆ คำสั่ง sound_add(fname,kind,preload) อธิบายคำสั่ง เริ่มด้วยคำสั่ง sound_add ตามด้วยภายในวงเล็บ (fname,kind,preload) fname คือ ตำแหน่งในการเก็บข้อมูล โดยขึ้นรูปประโยคว่า working_directory + "ที่อยู่ของข้อมูลพร้อมข้อมูล.นามสกุล" kind คือ ชนิดของเสียง (0 = ปกติ, 1 เสียงของฉาก, 2 = 3d, 3 = mmplayer) preload คือ การกำหนดให้บันทีกเสียงไว้หน่วยความจำ กำหนดโดย true กับ false ตัวอย่างคำสั่ง sound_add(working_directory + "\data\ex_003.wav",0,true); คำสั่งต้องถูกสร้างหรือเรียกใช้ภายในออปเจ็กตัวเองครับ ถ้าต้องการสร้างแยกไว้ ควรใช้ globalกำหนด นะครับ ไม่งั้นขึ้นผิดพลาดแน่นอนครับ และอย่าลืม ที่อยู่ของข้อมูลในการโหลดนำมาใช้นะครับ ถ้าลืมผิดพลาดเช่นกัน (Error...!!) ผิดพลาดประการใด โพสตอบในกระทู้นี้ได้เลยอย่ารีรอนะครับ เพราะผมมือใหม่อาจทำผิดๆ ถูกๆ แต่ก็ขอให้ได้ทำจะได้รู้ว่าผิดอย่างไรตรงไหน เพื่อจะได้รีบแก้ไขต่อไปครับ ขอบคุณที่เข้ามาอ่านครับ |