مشاهدة النسخة كاملة : طلب كود الرجوع back
امبراطور الحريه
11-03-2019, 01:39 AM
السلام عليكم ورحمة الله وبركاته
بسم الله الرحمن الرحيم
أريد كود الخاص بالرجوع ولكن ليس للأزرار الموجودة على ساحة العمل بل الزر الخاص بالجهاز نفسه
مثال http://www.abc4web.net/vb/attachment.php?attachmentid=3587&stc=1&d=1552257395
لدى مشروع لا أريد وضع فيه أزرار للرجوع لانه مقالى ومش عاوزه ياخد مساحة من العمل وأريد تفعيل هذا الزر عند الضغط عليه يرجع خطوة للخلف حتى يصل إلى الشاشة الإفتتاحية للتطبيق وعند الضغط عليه فى الشاشة الإفتتاحية يقفل التطبيق :abc_022:
- ملحوظة فى جميع المشاريع التى انفذها يومجد بها مؤثرات صوتية كخلفية للتطبيق تمام عند الضغط على زر الخروج والتطبيق الجهاز بيخرج منه بتفضل المؤثرات شغال او الصوت شغال لازم اقفل التطبيق من الرام هل يوجد كود ينضاف برضة عند الخروج نهائياُ عند الضغط على زر الرجوع اخر مرة فيكتم الصوت أيضاً لآن ناس اشتكت منها وفاكرينها خطأ برمجى :abc_022:
امبراطور الحريه
11-03-2019, 01:54 PM
السلام عليكم ورحمة الله وبركاته
هل يوجد يا إخوانى كود :abc_102:
azizsoft
11-03-2019, 02:32 PM
وعليكم السلام ورحمة الله وبركاته
اولا هاته الكلاسات كلها لازم تكون موجودة من الاعلى
import flash.desktop.NativeApplication
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.media.SoundMixer;
أسفل ذلك أضف هاته الأسطر
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
prevFrame(); // الاطار السابق
}
if(currentFrame == 1)//اذاكان الاطار == رقم 1
{
SoundMixer.stopAll();// ايقاف جميع الاصوات
NativeApplication.nativeApplication.exit();// الخروج من التطبيق
}
}
انتبه : عند الضغط على زرالرجوع للهاتف لن تشاهد الشاشة الافتتاحية اذا كان في الاطار رقم 1
واذا كنت تعتمد على المشاهد " السين " غير الكود prevFrame الى السين
ويمكن أن تحذف هذا السطر
NativeApplication.nativeApplication.exit();
لعدم الخروج من الشاشة رقم 1 الافتتاحية
ويمكن أن تضيف زر خروج من التطبيق في شاشة البداية
امبراطور الحريه
11-03-2019, 03:13 PM
وعليكم السلام ورحمة الله وبركاته
اولا هاته الكلاسات كلها لازم تكون موجودة من الاعلى
import flash.desktop.NativeApplication
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.media.SoundMixer;
أسفل ذلك أضف هاته الأسطر
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
prevFrame(); // الاطار السابق
}
if(currentFrame == 1)//اذاكان الاطار == رقم 1
{
SoundMixer.stopAll();// ايقاف جميع الاصوات
NativeApplication.nativeApplication.exit();// الخروج من التطبيق
}
}
انتبه : عند الضغط على زرالرجوع للهاتف لن تشاهد الشاشة الافتتاحية اذا كان في الاطار رقم 1
واذا كنت تعتمد على المشاهد " السين " غير الكود prevFrame الى السين
ويمكن أن تحذف هذا السطر
NativeApplication.nativeApplication.exit();
لعدم الخروج من الشاشة رقم 1 الافتتاحية
ويمكن أن تضيف زر خروج من التطبيق في شاشة البداية
السلام عليكم ورحمة الله وبركاته
شكرا اخى الكريم عزيز
ولكت واجهتنى بعض المشاكل أخى جيت أجرب نفس الكود بدون تعديل لأجربه فلم يعمل جاء بهذا الخطأ
https://www.mediafire.com/view/fgwg4o9f14142p0/1.png/file
وكنت أعتقد انه بسبب اننى أستخدم السينات وليس فريمات فمشروعى يحتوى على حوالى 7 او 8 سينات المهم غيرت الفريم الى سين كمان موضح بالصورة وبرضة أعاطنى خطأ
https://www.mediafire.com/view/s1nwz5unh0hnn7y/2.png/file
أين يوجد سبب المشكلة . وأخى الكريم هذا معناه انه عندما يكون فى السين رقم 5 وعند الضغط على الرجوع من الجهاز سوف يعود على السين رقم 4 هل يمكن أن يعود إلى سين محدد مثلا الرئيسى بدلاُ من 4 إن أمكن
وشكرا لأهتمامك الكريم :abc_138: دائماً سباق إلى تقديم الخير :abc_022:
azizsoft
11-03-2019, 04:57 PM
لاحظ في الكود الاول خاص بالاطارات لذلك يجب حذف امر CurrentFrame وطبيعي يخبرك الكمبايلار بالخطاء
أنا نسيت انك تستعمل المشاهد الكود كما يلي ويمكن أن تغير المشهد رقم 1 الى اي رقم
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
MovieClip(this.root).gotoAndPlay(1, "Scene 1");
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
امبراطور الحريه
11-03-2019, 05:30 PM
لاحظ في الكود الاول خاص بالاطارات لذلك يجب حذف امر CurrentFrame وطبيعي يخبرك الكمبايلار بالخطاء
أنا نسيت انك تستعمل المشاهد الكود كما يلي ويمكن أن تغير المشهد رقم 1 الى اي رقم
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
MovieClip(this.root).gotoAndPlay(1, "Scene 1");
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
تسلم أخى الكريم على الرد والإهتمام
ولكنى جربت الكود الجديد وعمل بنجاح الحمد لله ولكن هناك بعض المشاكل ظهرت ولا أعلم منها هذا الخطأ https://www.mediafire.com/view/f3r4w7nsxsa9p15/3.png/file
ولكن التطبيق يعمل بصورة طبيعية تمام ولكنى فى الشاشة الرئيسية أضع 4 أزرار كل واحد منهم بيروح على سين يعنى 4 سينات تمام ضغطت على أول واحد بيرح على للسين رقم 1 واجى اضغط على زر الرجوع يرجع بشكل صحيح وفعال ولكن عند الضغط على الأزار ألأخرى لا تعمل مع انها عند عمل تجربة على الكمبيوتر فى السيميليتور الخاص بالبرنامج يعملون ويذهبون إلى السينات الخاصة بهم
- سؤال - انا باخد الأكواد بحطها فى السين ايلى عاوزه يرجع مش كدا انا ماشى صح ؟ دا معنان ان انا لازم اخد الكود واكرره فى كل سين أخدت وعند التجربة جابلى مشكلة اخرى ايلى هو ان onKeyDown مقرر فوضعت بجانب هذه الكلمة رقم 2 واشتغل عادى فهل هذا صحيح ام خطأ بمعنى أصبح هكذا function onKeyDown2(e:KeyboardEvent):void وهل هذا هو سبب عدم فتح الأزرار لهذه السينات :abc_022:
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية . :abc_139::abc_139:
-تعديل- عند الرجوع للقائمة الرئيسية التى بها 4 أزرار والضغط على زر الرجوع للأسف بيروح على السين رقم واحد ؟؟
azizsoft
11-03-2019, 06:17 PM
انا مش فاهم قصدك .
الخطاء بالصورة ليس خطاء وانما مجرد تنبيه بحدث استماع ما يهمك فيه الكود شغال
اكواد الازرار في مصفوفة والا كل زر له كود خاص به
امبراطور الحريه
11-03-2019, 06:26 PM
انا مش فاهم قصدك .
الخطاء بالصورة ليس خطاء وانما مجرد تنبيه بحدث استماع ما يهمك فيه الكود شغال
اكواد الازرار في مصفوفة والا كل زر له كود خاص به
شكرا أخى الكريم . انا قولت فوق انه اشتغل عادى بس جابلى المشكلة دى بس شغال تمام الحمد لله
المهم اخى الكريم دلوقتى سؤال : الأكواد دى باخدها بحطها فى كل scene صح ولا كدا غلط مع تغيير onKeyDown إلى onKeyDown2 وهكذا كدا انا شغال صح لاولا
- سؤال : ليه لما بضغط على أى زر من ايلى المفروض يروحوا على السينات ايلى بكون مغير فيها ال onKeyDown إلى onKeyDown2 وonKeyDown3 وهكذا مش بيفتح خالص إنما ايلى فيه الكود الأصلى كما هو انت رافعه كدا onKeyDown بيفتح عادى دا معناه ان انا لما غيرت ال onKeyDown وحطيته رقم 2 جنبيها علشان البرنامج ميقوليش متكرر يمكن يكون دا سبب عدم فتح الأزرار ال3 الباقيين للسينات ؟
- سؤال : ليه لما ببقى فى الشاشة الرئيسية ايلى فيها 4 أزرار وبضغط على زر الرجوع المفروض ميعملشى حاجة او يطلع بره البرنامج لا دا بيخش على اول scene ؟
انا مش فاهم قصدك هنا بصراحة (اكواد الازرار في مصفوفة والا كل زر له كود خاص به )
عذراً على الإطالة والأسئلة الكثيرة ولكن الموضوع مهم بالنسبالى خصوصا انا تحت إنشاء تطبيق مكلف به ولا أريد وضع اى أزرار داخل المقال .
موفق بإذن الله ... لك مني أجمل تحية . :abc_139:
azizsoft
11-03-2019, 07:57 PM
امسح كل الاكواد بالازرار في الصفحة الرئيسية وضع هذا الكود
var btnArray:Array = [btn1, btn2, btn3];
for (var i:int = 0; i < btnArray.length; i++) {
btnArray[i].addEventListener(MouseEvent.CLICK, clickHandler);
}
function clickHandler(event:MouseEvent):void {
switch (event.currentTarget) {
case btn1 :
MovieClip(this.root).gotoAndPlay(1, "Scene 2");
break;
case btn2 :
MovieClip(this.root).gotoAndPlay(1, "Scene 3");
break;
case btn3 :
MovieClip(this.root).gotoAndPlay(1, "Scene 4");
break;
}
}
لاحظ هنا أعطيت اسماء btn1 btn2 btn3 أنت غير هاته الاسماء الى اسماء الازرار الي عندك وهذا الكود
معناه أنه تم تخزين الازرار في مصفوفة يعني انت لما تريد تضيف زر رابع او حتى 10 ازرار فقط اضف اسمه في المصفوفة واضف اسمه من تحت
مثاث اريد أن أيضف زر رابع تصبح المصفوفة كما يلي
var btnArray:Array = [btn1, btn2, btn3,btn4];
ومن الاسفل في اوامر الانتقال للمشاهد تصبح كما يلي
var btnArray:Array = [btn1, btn2, btn3,btn4];
for (var i:int = 0; i < btnArray.length; i++) {
btnArray[i].addEventListener(MouseEvent.CLICK, clickHandler);
}
function clickHandler(event:MouseEvent):void {
switch (event.currentTarget) {
case btn1 :
MovieClip(this.root).gotoAndPlay(1, "Scene 2");
break;
case btn2 :
MovieClip(this.root).gotoAndPlay(1, "Scene 3");
break;
case btn3 :
MovieClip(this.root).gotoAndPlay(1, "Scene 4");
break;
case btn4 :
MovieClip(this.root).gotoAndPlay(1, "Scene 5");
break;
}
}
بهاته الطريقة تضيف ما تشاء من ازرار ومن مشاهد بكود واحد منظم وواضح .
نأتي الى زر الهاتف لما تضغط عليه ستخرج من التطبيق ويتم ايقاف كل الاصوات
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
NativeApplication.nativeApplication.exit();// الخروج من التطبيق
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
ضعه مكان الكود السابق
اذا تواصلت المشكلة لديك ارفق ملف مفتوح :abc_022:
امبراطور الحريه
11-03-2019, 08:45 PM
امسح كل الاكواد بالازرار في الصفحة الرئيسية وضع هذا الكود
var btnArray:Array = [btn1, btn2, btn3];
for (var i:int = 0; i < btnArray.length; i++) {
btnArray[i].addEventListener(MouseEvent.CLICK, clickHandler);
}
function clickHandler(event:MouseEvent):void {
switch (event.currentTarget) {
case btn1 :
MovieClip(this.root).gotoAndPlay(1, "Scene 2");
break;
case btn2 :
MovieClip(this.root).gotoAndPlay(1, "Scene 3");
break;
case btn3 :
MovieClip(this.root).gotoAndPlay(1, "Scene 4");
break;
}
}
لاحظ هنا أعطيت اسماء btn1 btn2 btn3 أنت غير هاته الاسماء الى اسماء الازرار الي عندك وهذا الكود
معناه أنه تم تخزين الازرار في مصفوفة يعني انت لما تريد تضيف زر رابع او حتى 10 ازرار فقط اضف اسمه في المصفوفة واضف اسمه من تحت
مثاث اريد أن أيضف زر رابع تصبح المصفوفة كما يلي
var btnArray:Array = [btn1, btn2, btn3,btn4];
ومن الاسفل في اوامر الانتقال للمشاهد تصبح كما يلي
var btnArray:Array = [btn1, btn2, btn3,btn4];
for (var i:int = 0; i < btnArray.length; i++) {
btnArray[i].addEventListener(MouseEvent.CLICK, clickHandler);
}
function clickHandler(event:MouseEvent):void {
switch (event.currentTarget) {
case btn1 :
MovieClip(this.root).gotoAndPlay(1, "Scene 2");
break;
case btn2 :
MovieClip(this.root).gotoAndPlay(1, "Scene 3");
break;
case btn3 :
MovieClip(this.root).gotoAndPlay(1, "Scene 4");
break;
case btn4 :
MovieClip(this.root).gotoAndPlay(1, "Scene 5");
break;
}
}
بهاته الطريقة تضيف ما تشاء من ازرار ومن مشاهد بكود واحد منظم وواضح .
نأتي الى زر الهاتف لما تضغط عليه ستخرج من التطبيق ويتم ايقاف كل الاصوات
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
NativeApplication.nativeApplication.exit();// الخروج من التطبيق
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
ضعه مكان الكود السابق
اذا تواصلت المشكلة لديك ارفق ملف مفتوح :abc_022:
شكرا أخى الكريم عزيز جربت الأكواد الجديدة وكله تمام والأزرار بتخش كلها تمام ومش بتختفى بس المشكلة فى انى لما ببقى فى السين رقم 2 او 3 اياً كان المفروض اضغط على زر الرجوع يرجع للقائمة الرئيسة او السين ايلى انا هحدده لا دا بيطلع من البرنامج خالص ( كل ايلى انا عاوزه بس بعد دا كله جزاك الله كل خير انه كدا كله تمام بس لما يبقى فى السين رقم 1 ا و 2 واضغط على الرجوع يرجع القائمة ايلى انا احددها مثلاُ وليكن (content) مش شرط الرئيسية السين ايلى انا اكتب اسمه تمام + انه لما يبقى فى الشاشة الرئيسية ايلى اسمها main واضغط على زر الرجوع يطلع بره مش لما اكون فى سين تانى يطلع لا يرجع عاى للرئيسية انما لما أكون فى الرئيسة واضغط يطلع بره البرنامج - عارف كلامى معقد شوية ههه شكرا لصبرك ووقتك
+ سؤال هو الكود بتاع الخروج او الرجوع للخلف دوت بيحط فى كل سين ولا مرة واحدة فى شاشة الرئيسية :abc_022:
الملف المرفق https://www.mediafire.com/file/eccthweg7eq3z5w/Pubg.rar/file
azizsoft
11-03-2019, 09:13 PM
زر الهاتف back وضعنا فيه أمر الخروج من التطبيق ما نقدرش نضيف له وظيفتين الرجوع الى الخلف والخروج من التطبيق
فهمت ياباشا يعني اما نحط فيه امر الرجوع الى الخلف او الخروج من التطبيق
ساطلع الملف المفتوح ولي عودة
azizsoft
11-03-2019, 09:58 PM
الملف المفتوح فاضي عموما زر الهاتف يمكن تغير امره كما تشاء
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
MovieClip(this.root).gotoAndPlay(1, "Scene 1");
// NativeApplication.nativeApplication.exit();// الخروج من التطبيق
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
الانتقال مباشرة الى النافذة الرئيسية
امبراطور الحريه
11-03-2019, 10:50 PM
الملف المفتوح فاضي عموما زر الهاتف يمكن تغير امره كما تشاء
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
MovieClip(this.root).gotoAndPlay(1, "Scene 1");
// NativeApplication.nativeApplication.exit();// الخروج من التطبيق
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
الانتقال مباشرة الى النافذة الرئيسية
شكرا أخى الكريم ولكن الملف يعمل عندى لم أقم إلا بضغطته فقط .
تمام الزر يعمل وظيفة واحدة تمام
الكود الأخير الذى وضعته يعمل على خروج البرنامج تمام فا استخدمت ايلى قبله دوت
import flash.desktop.NativeApplication
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.media.SoundMixer
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
MovieClip(this.root).gotoAndPlay(1, "main");
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
تمام كدا ويعمل بشكل سليم بضغط على الزر بيخش عادى وبيرجع انما المشكلة نفسها ايلى مجننه الواحد لما بضغط على اى زر من الأزرار وارجع الصفحة الرئيسية بلاقيهم زى ما هما انما لما بضغط على اول زر وبرجع بيروح خافى كل الأزرار مش عارف ليه
- سؤال هو الكود دوت
import flash.desktop.NativeApplication
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.media.SoundMixer
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
MovieClip(this.root).gotoAndPlay(1, "main");
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
بحطه فى كل سين ولا هو مرة واحدة زى ما انا عامل فى الصفحة الرئيسية .
-تعديل- تمت بنجاح أخى الكريم ولكن فى مشروع تانى وكانت الأكواد هكذا
var btnArray:Array = [btn11, btn2, btn3];
for (var i:int = 0; i < btnArray.length; i++) {
btnArray[i].addEventListener(MouseEvent.CLICK, clickHandler);
}
function clickHandler(event:MouseEvent):void {
switch (event.currentTarget) {
case btn11 :
MovieClip(this.root).gotoAndPlay(1, "ex5");
break;
case btn2 :
MovieClip(this.root).gotoAndPlay(1, "ex2");
break;
case btn3 :
MovieClip(this.root).gotoAndPlay(1, "ex3");
break;
}
}
import flash.desktop.NativeApplication
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.media.SoundMixer
NativeApplication.nativeApplication.addEventListen er(KeyboardEvent.KEY_DOWN, onKeyDown);
function onKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == Keyboard.BACK)// اذا تم الضغط على زرالعودة للهاتف
{
e.preventDefault();// اضافة اموامراخرى لزر الهاتف
MovieClip(this.root).gotoAndPlay(1, "main");
SoundMixer.stopAll();// ايقاف جميع الاصوات
}
}
كدا شغال تمام بس انا كدا حاطت الكود فى اول سين فقط تمام .
هجربه بقى على مشروعى ايلى كل شوية يحصل فيه مشاكل شكرا أخى الكريم وسوف أجرب فى التطبيق الأساسى وسوف أخبرك بالنتيجة :abc_022:
بجد شكرا على إهتمامك وصبرك معايا على حصل المشكلة :abc_139: بارك الله فيك وجلعه فى ميزان حسناتك يا محترم - دائماُ سباقاً لتقديم الخير أخى عزيز .
امبراطور الحريه
13-03-2019, 02:17 AM
السلام عليكم ورحمة الله وبركاته
أخى عزيز الحمد لله إنتهيت من المشروع والزر شغال تمام مفيش مشكلة بس واجهتنى مشكلتين ( أولهما : لما برجع ساعات بيخفى المحتوى من الصفحة الرئيسية وثانيهما : ممكن يرجع بس يوقف الأزرار مش تشتغل او واحد من الأزرار يختفى ههههه ) فا بشكرك على دعمك للموضوع لآن انا استفدت كتير من الأكواد وكمان قدرت أستخدم الكود فى حاجات تانية زى انى اخليه يخرج بضغط واحدة وكنت محتاجها بصراحه فا بجد تسلملى على شغلك ومجهودك بارك الله فيك :abc_139::abc_139:
امجدمحمد
20-03-2019, 05:27 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
vBulletin® v3.8.11, Copyright ©2000-2024, abohmam