Advertisement
  1. Code
  2. ActionScript

Tip Cepat: Mendeteksi pengguna tidak aktif dalam Flash Movie

Scroll to top
Read Time: 3 min

() translation by (you can also view the original English article)

Dalam tips cepat ini, Anda akan mempelajari bagaimana mendeteksi ketika pengguna telah nonaktif untuk waktu yang ditentukan. Tetap membaca untuk mengetahui bagaimana caranya!


Tinjauan Hasil akhir

Mari kita lihat pada hasil akhir yang kita akan kerjakan:


Langkah 1: Ikhtisar singkat

Kita akan mendeteksi interaksi pengguna menggunakan event Keyboard dan Mouse, memeriksa aktivitas terakhir menggunakan Timer. Kami akan menampilkan pesan jika waktu yang ditentukan telah berlalu tanpa aktivitas.


Langkah 2: Membuat File Flash Anda

Luncurkan Flash dan membuat dokumen Flash baru.

Mengatur ukuran stage ke 550x250px.


Langkah 3: Antarmuka

Ini adalah antarmuka yang akan kita gunakan, latar belakang sederhana dengan pesan yang mengatakan pengguna untuk menunggu lima detik. Layar berikut akan ditampilkan ketika lima detik telah berlalu - mengkonversi ke MovieClip dan tandai kotak Export for ActionScript. Dan namai TheScreen.

Tentu saja ini adalah hanya salah satu dari banyak hal yang dapat Anda lakukan ketika melewati masa tidak aktif, GrooveShark misalnya, menjeda musik dan menunjukkan pesan yang meminta pengguna jika ia ingin terus menggunakan aplikasi. Terserah Anda untuk memutuskan apa yang harus dilakukan.


Langkah 4: ActionScript

Ini adalah kelas yang melakukan pekerjaan, membaca komentar dalam kode untuk mengetahui tentang perilaku.

1
2
package 
3
{
4
  import flash.display.Sprite;
5
	import flash.events.TimerEvent;
6
	import flash.utils.Timer;
7
	import flash.events.MouseEvent;
8
	import flash.events.KeyboardEvent;
9
10
	public class Main extends Sprite
11
	{
12
13
		private var screen:TheScreen = new TheScreen(); //Creates a new instance of TheScreen

14
		private var added:Boolean = false; //A boolean to check if the screen has been added to stage

15
16
		/* Timer Object */
17
18
		private var timer:Timer = new Timer(5000);//Five seconds for this example

19
20
		public function Main():void
21
		{
22
			timer.start(); //Starts the timer

23
			timer.addEventListener(TimerEvent.TIMER, showMsg); //Listens for the timer to complete

24
25
			/* Mouse and keyboard listeners, stops the timer when a event occurs, if you are using other input method, like the microphone, add its event here */
26
27
			stage.addEventListener(MouseEvent.MOUSE_MOVE, stopTimer);
28
			stage.addEventListener(MouseEvent.MOUSE_DOWN, stopTimer);
29
			stage.addEventListener(MouseEvent.MOUSE_UP, stopTimer);
30
31
			stage.addEventListener(KeyboardEvent.KEY_DOWN, stopTimerK);
32
			stage.addEventListener(KeyboardEvent.KEY_UP, stopTimerK);
33
		}
34
35
		/* If there is no activity for 5 seconds, a message will display */
36
37
		private function showMsg(e:TimerEvent):void
38
		{
39
			addChild(screen); //Adds the screen

40
			added = true;
41
		}
42
43
		/* If there's activity, we clear the message and reset the timer */
44
45
		private function stopTimer(e:MouseEvent):void
46
		{
47
			if (added)
48
			{
49
				removeChild(screen);
50
				added = false;
51
			}
52
53
			timer.stop();
54
			timer.start();
55
		}
56
57
		private function stopTimerK(e:KeyboardEvent):void
58
		{
59
			if (added)
60
			{
61
				removeChild(screen);
62
				added = false;
63
			}
64
65
			timer.stop();
66
			timer.start();
67
		}
68
	}
69
}

Langkah 5: Dokumen kelas

Ingat untuk menambahkan nama kelas ke kelas bidang di bagian Publish panel properti.


Kesimpulan

Ini adalah cara yang berguna dan mudah untuk mendeteksi aktivitas pengguna. Dalam contoh ini aktivitas terdeteksi didasarkan dalam event Mouse dan Keyboard, tetapi Anda dapat dengan mudah menambahkan mikrofon atau event inputan lainnya untuk memenuhi kebutuhan Anda.

Saya harap Anda menyukai Tip Cepat ini, terima kasih telah membaca!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.