Video: Resolution and Aspect Ratio Management for Game Maker - Part 1 2025
Anda boleh belajar bagaimana untuk mengekalkan nisbah aspek yang sesuai untuk permainan anda tanpa kesan kotak huruf muncul. Anda melakukan ini dengan memanipulasi permukaan aplikasi. Saiz permulaan permukaan permohonan adalah berdasarkan saiz Bilik (jika Pandangan tidak aktif) atau port Lihat (jika Pandangan aktif).
Dengan mengukur permukaan aplikasi agar sesuai dengan tetingkap atau saiz paparan pemain sebaik mungkin, GameMaker menyesuaikan nisbah aspek dengan sewajarnya sebagai pemain mengubah saiz tetingkap atau mencetuskan mod skrin penuh. Prosedur berikut menunjukkan cara untuk memaksimumkan permainan anda untuk kesesuaian terbaik untuk permainan desktop. Anda juga boleh mengemas kini kod untuk peranti mudah alih.
Prosedur berikut menggunakan tutorial Application_Surface_Scaling.
Untuk mengemas kini pengawal Objek untuk penskalaan yang paling sesuai, ikuti langkah berikut:
-
Dengan tutorial terbuka, dari pokok Sumber, klik untuk membuka folder Objek, kemudian klik dua kali obj_Control.
Objek Objek muncul.
-
Pilih Tambah Acara → Cipta.
Buat Acara muncul di bahagian Peristiwa.
-
Dari tab Kawalan, seret dan lepaskan Tindakan Kod Pelaksanaan.
Tetingkap kod muncul.
-
Dalam tetingkap kod taip kod berikut:
application_surface_draw_enable (false); min_width = view_wview [0]; min_height = view_hview [0]; scr_Resize ();
Kod ini memberitahu GameMaker bahawa objek pengawal akan mengambil alih lukisan permukaan aplikasi. Kod ini juga menetapkan pembolehubah untuk lebar dan ketinggian asas apabila pemain mengubah saiz tetingkap. Baris terakhir kod panggilan Skrip, yang anda tulis seterusnya.
Kerana anda belum menulis Skrip lagi, barisan terakhir kod akan muncul sebagai ralat dalam tetingkap kod, tetapi akan membetulkan dirinya selepas anda menulis Skrip.
-
Klik tanda semak hijau untuk menyimpan dan menutup tetingkap kod.
Seterusnya, anda perlu menulis Skrip yang anda panggil dalam prosedur terakhir.
-
Dari pohon Sumber, klik kanan Skrip dan pilih Cipta Skrip.
Tetingkap kod skrip muncul.
-
Dalam medan Nama, taip scr_Resize.
-
Dalam tetingkap kod skrip, ketik yang berikut:
cur_width = max (1, window_get_width ()); cur_height = max (1, window_get_height ()); var nisbah = cur_width / cur_height; jika cur_width
-
Klik tanda semak hijau untuk menyimpan dan menutup tetingkap kod Skrip.
Kod ini mendapat saiz tetingkap semasa dan menyimpan nilai tersebut dalam pembolehubah. Kerana tingkap dapat diminimumkan, yang akan menghasilkan nilai 0 (dan anda tidak dapat membahagi dengan 0), anda menggunakan fungsi max untuk memastikan bahawa pembolehubah selalu mempunyai nilai 1 atau lebih besar.
Pemboleh ubah kemudian digunakan untuk mendapatkan nisbah aspek tetingkap permainan. Selepas nisbah aspek ditentukan, GameMaker boleh menggunakannya untuk skala permainan dengan betul, yang mana baki kod memerlukan.
