Saya menulis pengatur waktu untuk menunjukkan kepada pengguna seberapa banyak dia dalam adegan saat ini:
timer_txt.x = 352;
timer_txt.y = 705;
var nCount: Number = 0;
var myTimer: Timer = new Timer(50, nCount);
timer_txt.text = "Time: " + nCount.toString();
myTimer.start();
function countUp(e: TimerEvent): void {
nCount++;
timer_txt.text = "Time: " + nCount.toString();
if (nCount > 60) {
var formattedTime =
((Math.floor(nCount / 60)) + ":" + (nCount % 60 >= 10 ? "" : "0") + (nCount % 60));
timer_txt.text = "Time: " + formattedTime.toString();
}
}
Saya memiliki tombol reset
untuk mengatur ulang objek lain di tempat kejadian tetapi tidak untuk timer
.
Masalah saya adalah:
Setiap kali saya mengklik tombol
reset
,timer
menjadi semakin lambat dan saya tidak tahu alasannya sementara saya tidak melakukan perubahan apa pun pada pengatur waktu. Saya memiliki banyakflags
dan banyakchild
di atas panggung. Ketika pengguna mengklik/menyentuh tombolreset
, semuaflags
akan sama dengan0
dan semuachild
akan menjadiremoved
danadd
kembali ke panggung.Ketika pengguna pergi ke adegan lain (pengatur waktu harus berhenti bekerja sementara nilai pengatur waktu saat ini perlu disimpan dalam variabel) dan ketika pengguna kembali ke adegan ini lagi pengatur waktu ini akan bekerja seperti:
previous value + counting the time
.Setiap kali saya membukanya di ponsel, kecepatannya berbeda dengan PC. Apakah ada solusi untuk mengkodekannya agar kompatibel dengan waktu perangkat asli? ini adalah fungsi yang saya tulis:
function timerAtoB(firstColor: int): void { lineColor = firstColor; //GRID; //Path A to B var PathAB: Grid; PathAB = new Grid(4, 35, 20, 22, canvas, lineColor); this.addChild(PathAB); }
Fungsinya untuk menghubungkan dimensi A ke dimensi B. Koneksi antara A dan B akan dibangun menggunakan kelas bernama Grid
- kelas ini untuk menemukan jalur terpendek antara A dan B dan membuat koneksi di antara keduanya (yang saya tidak ingin melaluinya lebih dari ini karena itu lebih rumit).
dan saya memanggil fungsi ini dengan beberapa penundaan:
delayCallFunctions(1000, timerAtoB, wireColor);
Saat saya menjalankannya di ponsel saya, penundaan ini akan berfungsi dengan baik tetapi tidak pada waktu yang tepat. Misalnya, saya menulis 1000ms
berarti menjalankan fungsi tersebut setelah sekitar 1 sec
, tetapi di ponsel saya dibutuhkan lebih dari 1 sec
untuk menjalankan fungsi tersebut.
Terima kasih sebelumnya atas waktu dan bantuan Anda.