iiv03 Posted May 18, 2019 Share Posted May 18, 2019 (edited) السلام عليكم مبرمجين كنت حاب اشوف كيف اعمل انيموشن مثل ضاهر عندكم في جيفت https://imgur.com/a/vZiwKnU ابغى فانكشات اب اببب Edited May 18, 2019 by liwahadri Link to comment
#\_oskar_/# Posted May 18, 2019 Share Posted May 18, 2019 start = getTickCount() DxAnimation = function (text,color1,color2) local now = getTickCount() x_,y_,w_,h_ = 254, 368, 465, 25 local progress = (now - start) / (start + 1000 - start) local h,r,g = interpolateBetween(h_-50,color1 or 0, color1 or 0, 0,color2 or 255, color2 or 255, progress, "CosineCurve") dxDrawRectangle (x_,y_-25,w_,h_, tocolor ( 0, 0, 0, 200 ) ) dxDrawRectangle (x_,y_,w_,h, tocolor ( 255,255,255, 165 ) ) dxDrawText(text or 'oskar',x_,y_-50,w_+x_,h_+y_, tocolor(r,g,r), 1.00, "bankgothic", "center", "center", false, false, false, true, false) end addEventHandler("onClientRender", root,function () DxAnimation ('Welcome To BlackHeart',0,255) end) اي خطاء قوله 2 Link to comment
iiv03 Posted May 18, 2019 Author Share Posted May 18, 2019 3 hours ago, #\_oskar_/# said: start = getTickCount() DxAnimation = function (text,color1,color2) local now = getTickCount() x_,y_,w_,h_ = 254, 368, 465, 25 local progress = (now - start) / (start + 1000 - start) local h,r,g = interpolateBetween(h_-50,color1 or 0, color1 or 0, 0,color2 or 255, color2 or 255, progress, "CosineCurve") dxDrawRectangle (x_,y_-25,w_,h_, tocolor ( 0, 0, 0, 200 ) ) dxDrawRectangle (x_,y_,w_,h, tocolor ( 255,255,255, 165 ) ) dxDrawText(text or 'oskar',x_,y_-50,w_+x_,h_+y_, tocolor(r,g,r), 1.00, "bankgothic", "center", "center", false, false, false, true, false) end addEventHandler("onClientRender", root,function () DxAnimation ('Welcome To BlackHeart',0,255) end) اي خطاء قوله مشكور خوي @#\_oskar_/# ضبطت بس لو اسوي له نهايه لازم استخدم كيل تايمر صحيح؟ setTimer(function() dxDrawRectangle (x_,y_-25*sx,w_,h_, tocolor ( 0, 0, 0, 200 ) ) dxDrawRectangle (x_,y_,w_,h, tocolor ( 255,255,255, 255 ) ) dxDrawText("Welcome To BATTLEFIELD" or 'oskar',x_,y_-51,w_+x_,h_+y_, tocolor(r,g,r), 1.00, font, "center", "center", false, false, false, true, false) end, 1000, 0) 1 hour ago, Abdul KariM said: تقدر تسويها بالمتغيرات ؟؟؟ ار يو درينك Link to comment
JustP Posted May 18, 2019 Share Posted May 18, 2019 41 minutes ago, liwahadri said: مشكور خوي @#\_oskar_/# ضبطت بس لو اسوي له نهايه لازم استخدم كيل تايمر صحيح؟ setTimer(function() dxDrawRectangle (x_,y_-25*sx,w_,h_, tocolor ( 0, 0, 0, 200 ) ) dxDrawRectangle (x_,y_,w_,h, tocolor ( 255,255,255, 255 ) ) dxDrawText("Welcome To BATTLEFIELD" or 'oskar',x_,y_-51,w_+x_,h_+y_, tocolor(r,g,r), 1.00, font, "center", "center", false, false, false, true, false) end, 1000, 0) ؟؟؟ ار يو درينك تقدر تسوي ايفنت onClientRender , افضل لك من التايمر 1 Link to comment
#BrosS Posted May 18, 2019 Share Posted May 18, 2019 34 minutes ago, liwahadri said: ضبطت بس لو اسوي له نهايه لازم استخدم كيل تايمر صحيح؟ هيك start = getTickCount() DxAnimation = function (text,color1,color2) local now = getTickCount() x_,y_,w_,h_ = 254, 368, 465, 25 local progress = (now - start) / (start + 1000 - start) local h,r,g = interpolateBetween(h_-50,color1 or 0, color1 or 0, 0,color2 or 255, color2 or 255, progress, "CosineCurve") dxDrawRectangle (x_,y_-25,w_,h_, tocolor ( 0, 0, 0, 200 ) ) dxDrawRectangle (x_,y_,w_,h, tocolor ( 255,255,255, 165 ) ) dxDrawText(text or 'oskar',x_,y_-50,w_+x_,h_+y_, tocolor(r,g,r), 1.00, "bankgothic", "center", "center", false, false, false, true, false) if now - start >= 5000 then removeEventHandler("onClientRender", root,render) start = getTickCount() end end function render() DxAnimation ('Welcome To BlackHeart',0,255) end addEventHandler("onClientRender", root,render) أو هيك function render() DxAnimation ('Welcome To BlackHeart',0,255) end addEventHandler("onClientRender", root,render) setTimer(function() removeEventHandler("onClientRender", root,render) end,5000,1) 38 minutes ago, liwahadri said: ؟؟؟ ار يو درينك و يب المتغيرات تنفع لكن الانتربولات اصعب وأحسن ض1 1 Link to comment
iiv03 Posted May 18, 2019 Author Share Posted May 18, 2019 6 minutes ago, #BrosS said: هيك start = getTickCount()DxAnimation = function (text,color1,color2)local now = getTickCount()x_,y_,w_,h_ = 254, 368, 465, 25local progress = (now - start) / (start + 1000 - start)local h,r,g = interpolateBetween(h_-50,color1 or 0, color1 or 0, 0,color2 or 255, color2 or 255, progress, "CosineCurve")dxDrawRectangle (x_,y_-25,w_,h_, tocolor ( 0, 0, 0, 200 ) )dxDrawRectangle (x_,y_,w_,h, tocolor ( 255,255,255, 165 ) )dxDrawText(text or 'oskar',x_,y_-50,w_+x_,h_+y_, tocolor(r,g,r), 1.00, "bankgothic", "center", "center", false, false, false, true, false)if now - start >= 5000 thenremoveEventHandler("onClientRender", root,render)start = getTickCount()endendfunction render()DxAnimation ('Welcome To BlackHeart',0,255)endaddEventHandler("onClientRender", root,render) أو هيك function render()DxAnimation ('Welcome To BlackHeart',0,255)endaddEventHandler("onClientRender", root,render)setTimer(function()removeEventHandler("onClientRender", root,render)end,5000,1) و يب المتغيرات تنفع لكن الانتربولات اصعب وأحسن ض1 شكرا ي غآلي في طريق عشان افهم النتروبلات بتوين ؟ Link to comment
#BrosS Posted May 19, 2019 Share Posted May 19, 2019 بحاول أشرحلك كود أوسكار لكن احذرك انا سيء بالشرح م اعرف حتى اشرح كيف تشغل الحاسوب .جيبلك الوقت اللي قاعد وانت تستخدم فيه الجهاز بالميلي سيكند . ونستعملها احسن لأنه عدد متحرك ورح اشرحلك ليه نحتاج عدد متحركgetTickCount أولا وظيفة ثانية = 1000 ميليسيكند start = getTickCount() هذي هو حطها بالبداية حتى تجيبله وقته وهو مستعمل الجهاز وحطها خارج الرندر حتى تكون ثانبتة now أيضا تجيبلك الوقت لكن الحالي اسمها ناو لأنها داخل الرندر يعني الوقت قاعد يمشي معك progress = now - start = 0 | الإثنين نفس الرقم رح يعطيك 0 وبما ان ناو متحرك رح يعيد يعد من الصفر ويصعد الحين نقسم على 1000 لأن الأرقمن حق الانتروبولات يطلب عدد من 0 الى 1 ووظيفتنا التيك كاونت تعطيك عدد فوق 1000 لذا 1000 قسمة 1000 يساوي 1 progress = (now - start) /1000 (كان قادر يسوي هيك بس مدري ليه ينقص ويزيد ض) الأقواص ضرورية لأن الأولية للأقواص ينقص ثم يقسم بدون أقواص رح يقسم على العدد اللي قبله نقسم على 1000 عشان يبدأ يعد من 0.000 الأنيميشن تخلص لما العدد يوصل ل1 وبما أن كلشي موجود برندر فما رح يتوقف العد والعدد رح يعيد من 0 الى 1 في حلقة غير منتهية عشان هيك الأنيميشن ماتخلص نرجع ليه قسمنا على 1000 بالضبط عشان العد يوصل ل1 في ثانية واحدة واذا تجرب الكود رح تشوف الأنيميشن تطلع وترجع كل ثانية . فإذا حبيت الحركة تكون ابطأ مثلا كل ثانتين تقسم على 1600 تقريبا الخ واذا اردت اسرع تقسم على عدد أقل وبالنسبة للكود للي اضفته انا عشان توقف الحركة if now - start >= 5000 then اذا وصل العد ل5000 يتوقف او اي شي تبيه و5000 تعني 5 ثواني طبعا البرمجةة كلها ريضايات مافي شي معقد مع الممارسة يتوصح كلشي بالنسبة للوظيفة نفسها سهلة جدا مسوي شرح لها يارب تقدر تفهم ض1 شرحتلك جزء فقط وان شاء الله تكون فهمت كل هذا الشي نقدر نسويه بالمتغيرات لكن الشغل رح يكون أطول لذا من الأحسن هذا 2 Link to comment
iiv03 Posted May 19, 2019 Author Share Posted May 19, 2019 (edited) 4 hours ago, #BrosS said: بحاول أشرحلك كود أوسكار لكن احذرك انا سيء بالشرح م اعرف حتى اشرح كيف تشغل الحاسوب .جيبلك الوقت اللي قاعد وانت تستخدم فيه الجهاز بالميلي سيكند . ونستعملها احسن لأنه عدد متحرك ورح اشرحلك ليه نحتاج عدد متحركgetTickCount أولا وظيفة ثانية = 1000 ميليسيكند start = getTickCount() هذي هو حطها بالبداية حتى تجيبله وقته وهو مستعمل الجهاز وحطها خارج الرندر حتى تكون ثانبتة now أيضا تجيبلك الوقت لكن الحالي اسمها ناو لأنها داخل الرندر يعني الوقت قاعد يمشي معك progress = now - start = 0 | الإثنين نفس الرقم رح يعطيك 0 وبما ان ناو متحرك رح يعيد يعد من الصفر ويصعد الحين نقسم على 1000 لأن الأرقمن حق الانتروبولات يطلب عدد من 0 الى 1 ووظيفتنا التيك كاونت تعطيك عدد فوق 1000 لذا 1000 قسمة 1000 يساوي 1 progress = (now - start) /1000 (كان قادر يسوي هيك بس مدري ليه ينقص ويزيد ض) الأقواص ضرورية لأن الأولية للأقواص ينقص ثم يقسم بدون أقواص رح يقسم على العدد اللي قبله نقسم على 1000 عشان يبدأ يعد من 0.000 الأنيميشن تخلص لما العدد يوصل ل1 وبما أن كلشي موجود برندر فما رح يتوقف العد والعدد رح يعيد من 0 الى 1 في حلقة غير منتهية عشان هيك الأنيميشن ماتخلص نرجع ليه قسمنا على 1000 بالضبط عشان العد يوصل ل1 في ثانية واحدة واذا تجرب الكود رح تشوف الأنيميشن تطلع وترجع كل ثانية . فإذا حبيت الحركة تكون ابطأ مثلا كل ثانتين تقسم على 1600 تقريبا الخ واذا اردت اسرع تقسم على عدد أقل وبالنسبة للكود للي اضفته انا عشان توقف الحركة if now - start >= 5000 then اذا وصل العد ل5000 يتوقف او اي شي تبيه و5000 تعني 5 ثواني طبعا البرمجةة كلها ريضايات مافي شي معقد مع الممارسة يتوصح كلشي بالنسبة للوظيفة نفسها سهلة جدا مسوي شرح لها يارب تقدر تفهم ض1 شرحتلك جزء فقط وان شاء الله تكون فهمت كل هذا الشي نقدر نسويه بالمتغيرات لكن الشغل رح يكون أطول لذا من الأحسن هذا معليك حبيبي 4 hours ago, #BrosS said: بحاول أشرحلك كود أوسكار لكن احذرك انا سيء بالشرح م اعرف حتى اشرح كيف تشغل الحاسوب .جيبلك الوقت اللي قاعد وانت تستخدم فيه الجهاز بالميلي سيكند . ونستعملها احسن لأنه عدد متحرك ورح اشرحلك ليه نحتاج عدد متحركgetTickCount أولا وظيفة ثانية = 1000 ميليسيكند start = getTickCount() هذي هو حطها بالبداية حتى تجيبله وقته وهو مستعمل الجهاز وحطها خارج الرندر حتى تكون ثانبتة now أيضا تجيبلك الوقت لكن الحالي اسمها ناو لأنها داخل الرندر يعني الوقت قاعد يمشي معك progress = now - start = 0 | الإثنين نفس الرقم رح يعطيك 0 وبما ان ناو متحرك رح يعيد يعد من الصفر ويصعد الحين نقسم على 1000 لأن الأرقمن حق الانتروبولات يطلب عدد من 0 الى 1 ووظيفتنا التيك كاونت تعطيك عدد فوق 1000 لذا 1000 قسمة 1000 يساوي 1 progress = (now - start) /1000 (كان قادر يسوي هيك بس مدري ليه ينقص ويزيد ض) الأقواص ضرورية لأن الأولية للأقواص ينقص ثم يقسم بدون أقواص رح يقسم على العدد اللي قبله نقسم على 1000 عشان يبدأ يعد من 0.000 الأنيميشن تخلص لما العدد يوصل ل1 وبما أن كلشي موجود برندر فما رح يتوقف العد والعدد رح يعيد من 0 الى 1 في حلقة غير منتهية عشان هيك الأنيميشن ماتخلص نرجع ليه قسمنا على 1000 بالضبط عشان العد يوصل ل1 في ثانية واحدة واذا تجرب الكود رح تشوف الأنيميشن تطلع وترجع كل ثانية . فإذا حبيت الحركة تكون ابطأ مثلا كل ثانتين تقسم على 1600 تقريبا الخ واذا اردت اسرع تقسم على عدد أقل وبالنسبة للكود للي اضفته انا عشان توقف الحركة if now - start >= 5000 then اذا وصل العد ل5000 يتوقف او اي شي تبيه و5000 تعني 5 ثواني طبعا البرمجةة كلها ريضايات مافي شي معقد مع الممارسة يتوصح كلشي بالنسبة للوظيفة نفسها سهلة جدا مسوي شرح لها يارب تقدر تفهم ض1 شرحتلك جزء فقط وان شاء الله تكون فهمت كل هذا الشي نقدر نسويه بالمتغيرات لكن الشغل رح يكون أطول لذا من الأحسن هذا اذا سويت بدون انيمشن كيف اسويه؟ يعني الوان بس Edited May 19, 2019 by liwahadri Link to comment
#BrosS Posted May 19, 2019 Share Posted May 19, 2019 6 hours ago, liwahadri said: اذا سويت بدون انيمشن كيف اسويه؟ يعني الوان بس نعم تقدر Link to comment
Mohamed Saber Posted June 6, 2019 Share Posted June 6, 2019 On 19/05/2019 at 11:53, #BrosS said: نعم تقدر On 18/05/2019 at 21:29, Abdul KariM said: تقدر تسويها بالمتغيرات On 18/05/2019 at 18:45, #\_oskar_/# said: start = getTickCount() DxAnimation = function (text,color1,color2) local now = getTickCount() x_,y_,w_,h_ = 254, 368, 465, 25 local progress = (now - start) / (start + 1000 - start) local h,r,g = interpolateBetween(h_-50,color1 or 0, color1 or 0, 0,color2 or 255, color2 or 255, progress, "CosineCurve") dxDrawRectangle (x_,y_-25,w_,h_, tocolor ( 0, 0, 0, 200 ) ) dxDrawRectangle (x_,y_,w_,h, tocolor ( 255,255,255, 165 ) ) dxDrawText(text or 'oskar',x_,y_-50,w_+x_,h_+y_, tocolor(r,g,r), 1.00, "bankgothic", "center", "center", false, false, false, true, false) end addEventHandler("onClientRender", root,function () DxAnimation ('Welcome To BlackHeart',0,255) end) اي خطاء قوله fProgress ممكن شرح لارقمنت Link to comment
#BrosS Posted June 6, 2019 Share Posted June 6, 2019 12 minutes ago, Mohamed Saber said: fProgress ممكن شرح لارقمنت On 19/05/2019 at 01:42, #BrosS said: بحاول أشرحلك كود أوسكار لكن احذرك انا سيء بالشرح م اعرف حتى اشرح كيف تشغل الحاسوب .جيبلك الوقت اللي قاعد وانت تستخدم فيه الجهاز بالميلي سيكند . ونستعملها احسن لأنه عدد متحرك ورح اشرحلك ليه نحتاج عدد متحركgetTickCount أولا وظيفة ثانية = 1000 ميليسيكند start = getTickCount() هذي هو حطها بالبداية حتى تجيبله وقته وهو مستعمل الجهاز وحطها خارج الرندر حتى تكون ثانبتة now أيضا تجيبلك الوقت لكن الحالي اسمها ناو لأنها داخل الرندر يعني الوقت قاعد يمشي معك progress = now - start = 0 | الإثنين نفس الرقم رح يعطيك 0 وبما ان ناو متحرك رح يعيد يعد من الصفر ويصعد الحين نقسم على 1000 لأن الأرقمن حق الانتروبولات يطلب عدد من 0 الى 1 ووظيفتنا التيك كاونت تعطيك عدد فوق 1000 لذا 1000 قسمة 1000 يساوي 1 progress = (now - start) /1000 (كان قادر يسوي هيك بس مدري ليه ينقص ويزيد ض) الأقواص ضرورية لأن الأولية للأقواص ينقص ثم يقسم بدون أقواص رح يقسم على العدد اللي قبله نقسم على 1000 عشان يبدأ يعد من 0.000 الأنيميشن تخلص لما العدد يوصل ل1 وبما أن كلشي موجود برندر فما رح يتوقف العد والعدد رح يعيد من 0 الى 1 في حلقة غير منتهية عشان هيك الأنيميشن ماتخلص نرجع ليه قسمنا على 1000 بالضبط عشان العد يوصل ل1 في ثانية واحدة واذا تجرب الكود رح تشوف الأنيميشن تطلع وترجع كل ثانية . فإذا حبيت الحركة تكون ابطأ مثلا كل ثانتين تقسم على 1600 تقريبا الخ واذا اردت اسرع تقسم على عدد أقل وبالنسبة للكود للي اضفته انا عشان توقف الحركة if now - start >= 5000 then اذا وصل العد ل5000 يتوقف او اي شي تبيه و5000 تعني 5 ثواني طبعا البرمجةة كلها ريضايات مافي شي معقد مع الممارسة يتوصح كلشي بالنسبة للوظيفة نفسها سهلة جدا مسوي شرح لها يارب تقدر تفهم ض1 شرحتلك جزء فقط وان شاء الله تكون فهمت كل هذا الشي نقدر نسويه بالمتغيرات لكن الشغل رح يكون أطول لذا من الأحسن هذا Link to comment
Mohamed Saber Posted June 6, 2019 Share Posted June 6, 2019 Just now, #BrosS said: ابي شرح لارقمنت من ويكي fProgress interpolateBetween ( float x1, float y1, float z1, float x2, float y2, float z2, float fProgress, string strEasingType, [ float fEasingPeriod, float fEasingAmplitude, float fEasingOvershoot ] ) ما فهمته @#BrosS Link to comment
#BrosS Posted June 6, 2019 Share Posted June 6, 2019 5 minutes ago, Mohamed Saber said: ابي شرح لارقمنت من ويكي fProgress interpolateBetween ( float x1, float y1, float z1, float x2, float y2, float z2, float fProgress, string strEasingType, [ float fEasingPeriod, float fEasingAmplitude, float fEasingOvershoot ] ) ما فهمته عدد مابين 0 و 1 يمثل تقدم الحركة 0 : بداية الحركة 1 : نهاية الحركة العدد اللي بينهم هو مدة الحركة او افهمها مثل ماتبي ماعرفت اشرحها ض1. الشرح موجود اللي كتبته وتقدر تستخدم المتغيرات مثل progress = 0 ... your code progress = progress + 0.01 .. if progress == 1 then your code نهاية الحركة Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now