المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : قذف جسم ما بسرعة ابتدائية إفتراضية


ثامر أبو بلقيس
03-12-2015, 06:02 PM
السلام عليكم ورحمة الله وبركاته

كل محاولاتي باءت بالفشل للأسباب التالية
- نافذة مشروع الاوتوبلاي أبعادها تبدأ الحساب من الفوق الى تحت و أقصد
محور السينات و العينات --- حسابات معقدة في الاتجاه أو حتى الأبعاد
- الزمن لا يمكن أن يكون إلا إفتراضي فالجاذبية لا توجد في صفحة الاوتوبلاي
- زاوية القذف لم تتركني حسابات صفحة المشروع أن أتحكم فيها
--------------------------------------------------
لذلك الشيء الذي لا يمكنني جعله برمجيا فأنا مجبر إلى تحديد زاوية قذف
و سرعة القذف سأفترضها لأن قوة رمي الكرة باليد لا يمكن برمجتها

موفق أخي لتحقيق ذلك إرفع لي ملفا مفتوحا فيه صورة على شكل كرة صغيرة موضوعة من الاحسن على يسار
الصفحة في مكان مناسب لقذفها و سأكتب لك الأكواد إن شاء الله :abc_138:

ثامر أبو بلقيس
03-12-2015, 09:39 PM
صعبة كثيرا رفع ملف مفتوح خال من الأكواد لترجمة الفكرة
---------
عجبا

ياسرهتهت
04-12-2015, 12:42 AM
بسم الله الرحمن الرحيم

تفضل استاذي الكريم
الملف في المرفقات
:abc_138::abc_138:

ثامر أبو بلقيس
04-12-2015, 01:36 AM
السلام عليكم ورحمة الله وبركاته

أخي المحترم ياسر ... حتى أتهي ارتباطي بالتفكير في هذا الموضوع

المقصود هو رمي إلى الأعلى وفق قطر دائرة حيث تمثل النقطة المتناظرة مع نقطة البداية سطح السقوط

على كل تقريبا الصورة التالية قد تقرب المفهوم من حيث نوعية الرمي

http://store4.up-00.com/2015-12/1449186762211.bmp

الأكواد التي سأكتب بناء على أن خلفية المشروع لونية و ليست صورة لأنها ستتسبب في سطح أقل ملاسة
حينها ستظطر لزبادة السرعة عند كا دورة للدالة التكرارية

نبدأ في زراعة الأكواد و سأختار سحب و افلات الصورة دلالة على رميها

في حدث الصفحة ON SHOW
nPos = {X=0,Y=0}
win = Window.GetSize(Application.GetWndHandle());


في الحدث ON MOUSE BUTON

if e_Type == 0 and sObject then
nOrigX = e_X;
nOrigY = e_Y;
tProps = Image.GetProperties("Image1");
nPos = Image.GetPos("Image1");
bReady = true;
else
bReady = false;
end

في الحدث ON MOUSE MOVE

if not System.IsKeyDown(1) then
bReady = false;
end

if sObject and bReady then
nChangeX = e_X - nOrigX;
nChangeY = e_Y - nOrigY;
Image.SetPos("Image1", nPos.X + nChangeX, nPos.Y + nChangeY);
end

======== كل ما سيق بخص السحب و الاقلات ما عدا سطر واحد ====================

في الصورة و في الحدث ON ENTER
sObject = this;

و أخير في الصورة ON LEAVE

if not bReady then
sObject = nil;
result= Image.GetPos("Image1");
D1=result.X
D2=result.Y
-----------------------------------------------
vitesse =60 ---- سرعة
angle =45 ---- بزاوبة
temp = 0.001 --- الزمن
while (result.Y< D2+1 and result.X < win.Width-30) do
result.X = (vitesse*Math.Cos(angle)*temp)+D1
result.Y=((5*(temp^2))-(vitesse*Math.Sin(angle) *temp))+D2
Image.SetPos("Image1", result.X,result.Y)
temp=temp+0.001 --- بوكل زمني
end
end


انتهى و انتهت معه المحاولة تيقى كيفية استغلاله و أجوبة الشرط
مرتبط يفكرة التطبيق

ملاحظة أخيرة بقليل من التعب يمكن جعل ارتباط بين السحب نحو الأسقل
و زيادة السرعة و التي بالضرورة لها علاقة مع الزاوية المختارة هنا للملاءمة
تم منع خروج الكرة من حيز التجميعية بشرط غير رياضي


بالتوفيق :abc_138:

ياسرهتهت
04-12-2015, 03:42 AM
بسم الله الرحمن الرحيم
بارك الله فيك استاذي الكريم
كالعادة اكواد ممتازة يستفيد منها الجميع
عند تغير السرعة لـــــ 600 تصبح بالفعل قذيفة :abc_052:
احاول رفع ملف مفتوح كامل لكن النت عند يوم الجمعة (اليوم المجاني)
تكون السرعة 0
موفق بإذن الله ... لك مني أجمل تحية .
:abc_138::abc_138:

عبد الهادي بهاب
04-12-2015, 12:34 PM
:abc_052::abc_052:
روعة .......سنحاول ايجاد تطبيقا مناسبا يكون في مستوى التعب و لن نستطيع الوصول الى التعب

هبة الرحمن
10-12-2015, 05:28 PM
السلام عليكم ورحمة الله وبركاته

محمد سامر
11-07-2016, 07:04 PM
مشكووووووووووووووووووووور

جمال سات
15-05-2020, 04:45 PM
بارك الله فيك