سوال اندرویدی؟!

kheibar007

New Member
سلام
من دارم با as3 یه برنامه برای اندروید مینویسم
اما مشکل اینجاست که با زدن دکمه ی back گوشی،برنامه خارج میشه و من میخوام اینطوری نشه
اگه میشه کمک کنید
 

kheibar007

New Member
سلام
من دارم با as3 یه برنامه برای اندروید مینویسم
اما مشکل اینجاست که با زدن دکمه ی back گوشی،برنامه خارج میشه و من میخوام اینطوری نشه
اگه میشه کمک کنید

کسی نیست جواب بده!
خودم جواب خودم رو بدم؟!!
 

Fanous

Well-Known Member
سلام
من دارم با as3 یه برنامه برای اندروید مینویسم
اما مشکل اینجاست که با زدن دکمه ی back گوشی،برنامه خارج میشه و من میخوام اینطوری نشه
اگه میشه کمک کنید

سلام
از این کد استفاده کنین:
کد:
NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, CheckKeypress);
function CheckKeypress(event:KeyboardEvent):void
{
	if (event.keyCode == Keyboard.BACK)
	{
		event.preventDefault();
	}
	if (event.keyCode == Keyboard.MENU)
	{
		//...
	}
}
 

Fanous

Well-Known Member
دست شما درد نکنه
اما اینو از کجا آوردین؟
اصن preventDefault یعنی چی؟

خواهش می کنم
من هم چند ماهی هست که دنبال ساخت برنامه اندرویدی با فلش هستم و اولین کارم هم توی بازار گذاشتم
این هم تاپیکش :
http://forum.majidonline.com/threads/214717-اولین-بازی-اندرویدی-من-با-adobe-air-و-as3

برای همین به مرور به مشکلاتی برمیخوردم و برای رفع هر کدوم توی نت سرچ کردم
یکی از موارد هم ، همین مشکل شما بود

preventDefault یعنی جلوگیری از حالت پیش فرض هر دکمه
شما با این دستور عملکرد پیش فرض دکمه برگشت رو غیرفعال می کنین و هر دستور دیگه ای که نیاز دارین رو در خط های بعد می نویسین
 

leontry89

Member
دوستان من درک فریم با کد:
if (event.keyCode == Keyboard.BACK)
{
event.preventDefault();
gotoAndStop(3);
}
به فریم ۳ میرم اما مشکل اینجاست اگه برای فریم ۳ همین کد و بدون event.preventDefault(); بذارم دیگه بیرون نمیاد و قفل میشه
به عبارتی فقط یکی از این کدها اجرا میشه
در صوورتی که من میخوام برای یه سری فریم ها با زدن بک بره به فریم ۳ و برای فریم ۳ با زدن بک بیاد بیرون
مرسی
 

Fanous

Well-Known Member
دوستان من درک فریم با کد:
if (event.keyCode == Keyboard.BACK)
{
event.preventDefault();
gotoAndStop(3);
}
به فریم ۳ میرم اما مشکل اینجاست اگه برای فریم ۳ همین کد و بدون event.preventDefault(); بذارم دیگه بیرون نمیاد و قفل میشه
به عبارتی فقط یکی از این کدها اجرا میشه
در صوورتی که من میخوام برای یه سری فریم ها با زدن بک بره به فریم ۳ و برای فریم ۳ با زدن بک بیاد بیرون
مرسی

سلام
شما وقتی واسه دکمه back گوشی یه listener تعریف کنین که بره به فریم 3 ، بعدش باید اون listener رو remove کنین و listener جدید رو تعریف کنین
مثلا اگه توی فریم شماره 1 این دستورات رو داشته باشیم:
کد:
NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, goto_frame_3);
function goto_frame_3(event:KeyboardEvent):void
{
	if (event.keyCode == Keyboard.BACK)
	{
		event.preventDefault();
gotoAndStop(3);
	}
	if (event.keyCode == Keyboard.MENU)
	{
		//...
	}
}

توی فریم 3 باید اول اونو ریموو کنین و جدید بنویسین:
کد:
NativeApplication.nativeApplication.removeEventListener(KeyboardEvent.KEY_DOWN, goto_frame_3);
NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, exit_app);
function exit_app(event:KeyboardEvent):void
{
	if (event.keyCode == Keyboard.BACK)
	{
		event.preventDefault();
		NativeApplication.nativeApplication.exit();
	}
}
 

logo64

New Member
من همین مشکل را داشتم برای یکی از دوستام جستجو کردم و راه حل شما جواب داد واقعا ممنونم
 

جدیدترین ارسال ها

بالا