مشاهدة النسخة كاملة : مساعدة في اضافة تأثيرات حركية على الصور
العبسي
14-10-2014, 10:30 PM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
وبعد
أخواني الاعزاء
احتاج مساعدة لتحريك صورة عند عمل المشروع أريد أن تظهر هذه الصورة من العدم بتدرج معين مثلا تكبير الى حد معين ومن ثم تلاشيها
وايضا اريدها ان تظهر عند مرور وقت معين ثم تختفي
جربت بعض الاضافات ولم اعرف الطريقة
الرجاء المساعدة ولكم الشكر
ثامر أبو بلقيس
14-10-2014, 11:37 PM
السلام عليكم ورحمة الله وبركاته
ريثما يثرى موضوعك بعديد الطرق من طرف الزملاء إن شاء الله
ماذا لو نأخذ صورة ونستدعيها في ساحة العمل ولتكن Image1
1 - الأوامر في الحدث on preload تعني قبل بدء تكوين عناصر التجميعية
في هذا الحدث نضع كود يقوم بجعل قيمة الاضاءة للصورة المختارة 0
Image.SetOpacity("Image1", 0);
------- لو تتعاين الان المشروع لن تظهر الصورة -----
نواصل ندخل إلى الحدث on show و نحدد زمنا اختياريا وليكن
Page.StartTimer(100);
-------------------------------------------
نتوجه الان إلى الحدث on timer ونضع كود بسيط
دوره يحجز قيمة الاضاءة للصورة ثم مع مرور الزمن يضيف مثلا القيمة 1
هكذا
v = Image.GetOpacity("Image1");
Image.SetOpacity("Image1", v+1);
عند المعاينة الان تبدأ الصورة تظهر تدريجيا بدء من القيمة 0 إلى أن تصل إلى القيمة القصوى 100
---------------------------------------------------------------------
لو أردت تكرار العملية باستمرار في الكود السابق نكتب تحته شرط
وهو عند وصول الاضاءة للقيمة 100 ترجع الصورة للقيمة 0 و يتوقف الزمن برهة ثم يعمل
من جديد عند عمله يجد الصورة صارت في القيمة 0 فتبدأ العملية من جديد
if v == 100 then
Image.SetOpacity("Image1", 0);
Application.Sleep(1000);
end
موفق أخي قصدت أن تصلك الفكرة بأنها سهلة تبرمجها بمعرفتك وذوقك بعيدا عن
الاضافات تقديري :abc_138:
العبسي
15-10-2014, 01:52 PM
بارك الله فيك أخي الحبيب أبا بلقيس ولا حرمك الله الأجر
استاذي الفاضل
قمت بتطبيق العمل والنتيجة جميلة ولكن أريد الإسراع من اظهار الصورة فهل أقوم بزيادة قيمة v+1 أم ماذا ؟؟
وكيف يمكن تطبيق هذه الاكواد على صورة لاشارة تحذيرية مثلا كإعلان أو كتذكير بضغط زر معين تظهر وتختفي بعد زمن معين ولكن على شكل وميض متقطع وسريع ؟؟
وهل يمكن تعديل الكود بحيث تتحرك الصورة من اليمين الى اليسار او من الاعلى للاسفل او تبدأ من الصغر ثم تكبر ؟؟
زداك الله من علمه وفضله أخي الحبيب وتقبل تحياتي
ثامر أبو بلقيس
15-10-2014, 02:46 PM
السلام عليكم ورحمة الله وبركاته
لم أحضر جوابا مقنعا ريثما يتدخل الزملاء لمساعدتك فقلت
مادمت تحدثت عن وميض يعجبني استعمال الاضافة GlobalTimer
لكن لم تستعمل هنا صورة بل صوت و نص
http://www.gulfup.com/?mCdRmr
--------------------------------------------------------------------
نعم فيما ذكرت سابقا يمكنك التحكم في سرعة الظهور بتغيير القيم ------
كما يمكنك التحكم في موقع الصورة وتحريكها وفق أبعاد نافذة المشروع-
---------------------------------------------------:abc_138:---
ثامر أبو بلقيس
15-10-2014, 04:19 PM
السلام عليكم ورحمة الله وبركاته
أخي نرجع لمشروعنا الاول لنزامن تدرج الشفافية مع حركة الصورة من اليسار إلى اليمين
نقوم بالتعديل الاتي :
1 - نضع الصورة المراد تحريكها في الوسط أو في اليسار
2 - نعدل في الكود المزروع في on preload ليصبح
Image.SetOpacity("Image1", 0);
d= Image.GetPos("Image1");
3 - نعدل في كود ON SHOW ليصبح
Page.StartTimer(500);
4 - نمسح كل ما كتب في ON TIMER ونعوضه بـ
v = Image.GetOpacity("Image1");
Image.SetOpacity("Image1", v+50);
N= Image.GetPos("Image1");
Image.SetPos("Image1", N.X+15,N.Y);
if v == 100 then
Image.SetOpacity("Image1", 10);
end
if N.X >= Window.GetSize(Application.GetWndHandle()).Width -Image.GetSize("Image1").Width then
Image.SetPos("Image1",d.X,N.Y);
end
موفق :abc_138:
العبسي
15-10-2014, 07:08 PM
بارك الله فيك اخي الكريم
وزادك الله من علمه وفضله
في الحقيقة لا ادري ماذا اقول
فلقد ساعدتني كثيرا
واطمع منكم بالمزيد
لنفرض ان لدي صورة بهذه المقاسات
500*300
اريد ان تظهر الصورة من الوسط وتكبر تدريجيا حتى تأخذ حجمها الكامل
كيف يمكن التعديل على الكود السابق الذي يقوم بتحريكها من اليمين الى اليسار ؟؟؟
علما بان حجم المشروع كاملا هو 1014*713
وايضا كيف يتم التعامل مع النصوص بهذه الطريقة ؟؟؟ اقصد اخفائها واظهاراها بعد مرور وقت معين
المثال الذي وضعت للوميض لم افهمه يا ليت لو شرح بسيط عنه
وفقك الله اخي الكريم
العبسي
16-10-2014, 05:42 PM
للرفع اثابكم الله ورفع الله قدركم
ثامر أبو بلقيس
17-10-2014, 12:47 AM
للرفع اثابكم الله ورفع الله قدركم
أمين يارب العالمين
سأحاول أخي نفتح مشروع جديد بالمقاسات التي ذكرتها
نضع صورة نقلل من حجمها كثيرا نضعها في أي مكان من التتجميعية
نأتي للأكواد
1 - في on preload
Image.SetSize("Image1", 0, 0);
Image.SetOpacity("Image1", 0);
2 - نضع في on show
Page.StartTimer(1000);
3 - نضع في on timer
v = Image.GetOpacity("Image1");
Image.SetOpacity("Image1", v+15);
-------
size = Window.GetSize(Application.GetWndHandle());
wndW = size.Width;
wndH = size.Height;
e = Image.GetSize("Image1");
offX_Label1 = (wndW/2)- (e.Width/2)
offY_Label1 = (wndH/2)-(e.Height/2)
Image.SetPos("Image1", offX_Label1, offY_Label1);
props = Image.GetSize("Image1");
Image.SetSize("Image1", (props.Width)+80, (props.Height)+48);
if props.Width > 500 then
Page.StopTimer();
end
-----
حاولت قدر استطاعتي مركزة الصورة في الوسط حسابيا و ظهور متدرج
وتتوقف عند وصولها لمقاس الصورة المذكور الذي ذكرته
العبسي
17-10-2014, 06:12 PM
جزاك الله خيرا أخي ابا بلقيس وأسال الله أن يكتب لك الأجر وأن يوفقك في هذه الساعة المباركة
أخي الحبيب
يبدو أنني لم أوفق في وضع الكود بطريقة صحيحة
لم تظهر معي بالشكل المطلوب
المهم ما علينا
أود أن أسأل هل هناك طريقة لاختصار كود اخفاء عدة صورة دفعة واحدة ؟؟
مثلا اريد أن أخفي 6 صور
سأقوم بكتابة هذه الأكواد
Button.SetVisible("Button_u1_1m", false)
Button.SetVisible("Button_u2_1m", false)
Button.SetVisible("Button_u3_1m", false)
Button.SetVisible("Button_u4_1m", false)
Button.SetVisible("Button_u5_1m", false)
Button.SetVisible("Button_u6_1m", false)
كيف يمكن اختصار هذه الروابط بسطر واحد ؟؟
وايضا اخي كيف يتم التعامل مع النصوص عن طريق اخفائها واظهاراها بعد مرور وقت معين ؟؟؟؟
وتقبل تحياتي
ثامر أبو بلقيس
18-10-2014, 12:26 AM
for i=1,6 do Button.SetVisible("Button_u"..i.."_1m", false)end
العبسي
18-10-2014, 11:10 AM
بارك الله بك أخي ابا بلقيس
هل يمكن شرح بسيط لكيفية اختصار الاكواد ؟
وجزاك الله خيرا
ثامر أبو بلقيس
18-10-2014, 12:40 PM
الدالة for عبارة عن مجموعة أوامر يتكرر تنفيذها عدد معين من المرات
بتحديد المتغير من قيمة معينة الى اخرى
عندما تكتب for i = 1,6 do
نكون قد حددنا المتغير وهو i و وضعنا له نقطة بداية وهي 1 ونقطة نهاية وهي 6
بعد ذلك نحدد الأمر الذي نريد تنفيذه باستغلال المتغير i الذي يصبح في المرة الاولى 1 ثم 2 ثم 3 ثم 4 ثم 5 ثم 6
بالنظر إلى الأكواد التالية :
Button.SetVisible("Button_u1_1m", false)
Button.SetVisible("Button_u2_1m", false)
Button.SetVisible("Button_u3_1m", false)
Button.SetVisible("Button_u4_1m", false)
Button.SetVisible("Button_u5_1m", false)
Button.SetVisible("Button_u6_1m", false)
مهمته اخفاء أزرار --- فيما تختلف؟ فقط في الأعداد الموجودة في الوسط 1 - 2 - 3 - 4 - 5 -6 المكتوبة في وسط كل كود
تلك القيم تختصرها أو نعبرعنها بـ : i
فيصبح الكود :
Button.SetVisible("Button_u"..i.."_1m", false)
في كل مرة يخفي زر حسب قيم i ي من 1 الى 6 " حلقة تكرارية"
إن صح التعبير في الدورة الاولى يكتب مكان i الرقم 1 فيختفي الزر الاول و تستمر العملية سريعة لتخفي جميع
الازرار لأننا حددنا قيمة i من 1 الى 6 أي يتكرر الكود
ليصبح الكود كالتالي :
for i = 1,6 do
Button.SetVisible("Button_u"..i.."_1m", false)
end
تطبيق : أحسب الأعداد الزوجية الأصغر من 100 بثلاث طرق مختلفة لتظهر في رسالة
باستعمال الدالة for
العبسي
18-10-2014, 01:11 PM
تطبيق : أحسب الأعداد الزوجية الأصغر من 100 بثلاث طرق مختلفة لتظهر في رسالة
باستعمال الدالة for
هل السؤال موجه لي ؟؟
للاسف أنا تلميذ مبتديء بهذا العلم ولا أعرف أساسياته :abc_070:
فأنت استاذي ومنكم نتعلم :abc_028:
زادك الله علما ومعرفة
ثامر أبو بلقيس
18-10-2014, 01:20 PM
لا أقصد أخي توجيه سؤال فقط لم أكمل كلامي غبت وعدت لتوضيح الدالة و أثرها في احتصار الأكواد و الجهد
نواصل :
قلنا نريد استغلال الدالة التكرارية for لإظهار الأعداد الزوحية مثلا في رسالة
هاته طريقة :
t =""
for i = 0,100,2 do
t = t ..i ..","
end
Dialog.Message("Notice", t);
حيث استعملنا القفز
وهذه طريقة :
t =""
for i = 0,100 do
f = Math.Mod(i, 2);
if f == 0 then
t = t ..i ..","
end
end
Dialog.Message("Notice", t);
حيث استعملنا علاقة رياضية
وهذه طريقة
t=""
for i = 100,0,-2 do
t = t ..i ..","
end
Dialog.Message("Notice", t);
على كل موفق :abc_138:
العبسي
20-10-2014, 06:27 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
في الحقيقة انت ثروة حقيقية لهذا المنتدى
حفظك الله وبارك الله بك وبعلمك
ورزقك من حيث لا تحتسب
ولا تحرمنا من علمك بارك الله بك
أتمنى أن يكون هناك دروس تكويد خفيفة لحيل مختلفة تختصر علينا الوقت والجهد
بارك الله بكم
vBulletin® v3.8.11, Copyright ©2000-2024, abohmam