Video: Membuat Game Gelembung dengan Construct 2 #Part1 2025
Secara lalai, accelerometer permainan HTML5 menganggap kedudukan neutral yang sempurna mendatar - iaitu, peranti itu berbaring rata di atas meja. Walau bagaimanapun, ini adalah peranti mudah alih, dan pemain akan sering mahu kedudukan neutral berada di tempat lain.
Teknik asas untuk menentukur kawalan kecondongan adalah untuk menjejaki nilai offset untuk AX dan AY. Apabila pengguna memilih untuk menyusun semula, nilai offset diubah untuk membuat kedudukan neutral baru. Berikut adalah kod yang berkaitan:
accel. permainan html var; var bola; var accel; var btnCalibrate; var offsetAX = 0; var offsetAY = 0; fungsi init () {game = scene baru (); bola = Sprite baru (permainan, "redBall. png", 50, 50); accel = new Accel (); btnCalibrate = new GameButton ("calibrate"); btnCalibrate. setSize (100, 100); btnCalibrate. setPosition (100, 100); permainan. start ();} // end init function checkButton () { if (btnCalibrate. isClicked ()) { offsetAY = accel. getAY (); offsetAX = accel. getAX (); } } kemas kini fungsi () {permainan. jelas (); checkButton (); newDX = accel. getAY () - offsetAY; newDY = accel. getAX () - offsetAX; newDX * = -5; newDY * = -5; bola. setDX (newDX); bola. setDY (newDY); bola. kemas kini ();}
Entah bagaimana anda perlu mencetuskan penentukuran. Untuk contoh ini, anda menambah butang penentukuran asas. Inilah cara ia berfungsi:
-
Tambah pembolehubah offsetAX dan offsetAY.
Kedua-dua pemboleh ubah ini menunjukkan kedudukan neutral peranti yang berbeza daripada sikap rata-rata di atas meja. Mulakan pemboleh ubah pada nilai sifar.
-
Tambah butang penentukuran.
Untuk contoh ini, pengguna boleh menimbang semula dengan mengklik butang.
-
Periksa tekan butang.
Fungsi telah dibuat untuk membaca sebarang menekan butang.
-
Jika butang ditekan, dapatkan nilai offset baru.
Apabila butang aktif, cari nilai AX dan AY semasa dengan meminta mereka dari objek Accel.
-
Kurangkan offset dari kapak dan ay pada setiap bingkai.
Sebelum sebarang pengiraan lain, kurangkan offsetAX dari AX dan offsetAY dari AY. Ini akan menetapkan kedudukan neutral baru dengan berkesan tetapi peranti telah ditetapkan kali terakhir butang diklik.
Walaupun butang penentukuran sangat mudah dilaksanakan, kadang kala penentukuran dilakukan secara automatik. Jika anda lebih suka, tentukan sahaja offsetAX dan offsetAY semasa fungsi init (), dan sikap peranti semasa fungsi init () menjadi sikap lalai. Ini tidak membenarkan pengguna untuk menetapkan semula penentukuran, tetapi ia menghalang keretakan skrin dengan butang yang jarang digunakan.
