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

مشاهدة النسخة كاملة : كيفية جعل الازرار تدور حول مركز الاسطوانة


فرح صالحي
23-11-2013, 11:41 AM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

اخوتي الكرام اعمل على مشروع به عدة ازرار وقرأت في بعض المواقع ان بالامكان جعل الازرار تدور حول مركز الاسطوانة كما تدور الكواكب حول الشمس.
فهل بامكانكم مدي بالاكواد المناسبة لهذا العمل مغ الشرح المفصل والممل لان لا خبرة لي في هذا المجال .
ولكم سلفا كل الشكر والتقدير
أخوكم في الله
والسلام

ثامر أبو بلقيس
23-11-2013, 05:57 PM
الاكواد ستعتمد على مقاس صفحة المشروع
وعدد الازرار و تسمياتها
موفق:abc_152:
يمكنك ارسال ملف مفتوحا لمواصفات مشروعك

فرح صالحي
23-11-2013, 06:21 PM
السلام عليكم ورحمة الله وبركاته
شطرا اخي على الرد لكن كيف اعمل ملفا مفتوحا ؟
مقاسات مشروعي 800× 600 وادخلت الاكواد التي تجعلها مرنة مع حجم الشاشة
بالمشروع 9 ازرار مستطيلة الشكل
جازاك الله عنا كل خير وجعلها في ميزان حسناتك
والسلام

ثامر أبو بلقيس
23-11-2013, 06:34 PM
في الحدث on startup ضع الكود

delta=2;
steps=720;
Center_X=800/2;
Center_Y=600/2;
Radius_X=200;
Radius_Y=90;
Speed=25;
Count_Buttons=9;

في الحدث global function ضع
function display(w,Count_Buttons,delta)
w=2*math.pi /Count_Buttons;
for x=1,Count_Buttons do
result_x = Center_X+Radius_X*Math.Cos(w*(x-1)+delta);
result_y = Center_Y+Radius_Y*Math.Sin(w*(x-1)+delta);
BuSize=1+(Math.Sin(w*(x-1)+delta))/2;
BuWidth=44*BuSize;
BuHight=44*BuSize;
Button.SetPos("Button"..x, result_x, result_y);
Button.SetSize("Button"..x,BuWidth,BuHight)
end
end

في حدث الصفحة on show
Page.StartTimer(Speed);

وفي الحدث on timer

delta=Math.Mod(delta+2*math.pi/steps,(2*math.pi));
display(w,Count_Buttons,delta)

على أن تكون الازرار التسع بالتسميات
Button2 - Button1 إلى غاية Button9

موفق :abc_152:

فرح صالحي
23-11-2013, 07:51 PM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
جازاك الله اخي على الاكواد كل الخير لقد وقعت تجربتها بنجاح لكن المشكلة ان الازرار اصبح حجمها صغيرا وتسمية الزر لا يظهر منها الا جزء صغير فهل حل هذا المشكل ولك كل التقدير والاحترام
والسلام

ثامر أبو بلقيس
23-11-2013, 08:05 PM
ماهو مقاس الأزرار في مشروعك

فرح صالحي
23-11-2013, 08:20 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
مقاس الازرار 204 × 60
موفق بإذن الله ... لك مني أجمل تحية .

ثامر أبو بلقيس
23-11-2013, 09:18 PM
لاحظ أخي أن الأزرار كبيرة الحجم مقارنة مع مقاسات المشروع
المهم
عدلت في on startup
delta=2;
steps=720;
Center_X=800/2;
Center_Y=600/2;
Radius_X=300;
Radius_Y=90;
Speed=25;
Count_Buttons=9;

في الحدث global function

function display(w,Count_Buttons,delta)
w=2*math.pi /Count_Buttons;
for x=1,Count_Buttons do
result_x = Center_X+Radius_X*Math.Cos(w*(x-1)+delta);
result_y = Center_Y+Radius_Y*Math.Sin(w*(x-1)+delta);
BuSize=1+(Math.Sin(w*(x-1)+delta))/2;
BuWidth=120*BuSize;
BuHight=50*BuSize;
Button.SetPos("Button"..x, result_x, result_y);
Button.SetSize("Button"..x,BuWidth,BuHight)
end
end


ثم اعتمدت على كتابة " السلام عليكم ورحمة الله " في أحد الأزرار
بحجم خط = 10 و توسيط للجملة في الزر
وعاينت على أمل أن لا تختفي الجملة أثناء عملية الدوران

أتمنى أن تكون المحاولة مقبولة

فرح صالحي
23-11-2013, 09:45 PM
السلام عليكم ورحمة الله وبركاته
لقد نجحت التعديلات في الاكواد في ابراز الكتابة على الازرار بشكل كبير واصبحت الازرار ايضا تدور في وسط المشروع على عكس المرة الاولى كانت تدور على جانب من الشاشة
فشكرا مجددا لك وابقاك الله ذخرا لنا ولبلقيس
تصبح في خير ونعمة والسلام
ملاحظة : فكرت في تصغير حجم الhttp://www.abc4web.net/vb/images/smilies/abc_152.gifخط وليس الازرار .

ثامر أبو بلقيس
23-11-2013, 09:49 PM
بارك الله فيك وموفق وفي خدمتك أخي

موفق :abc_152:

شكرا جزيلا

خادم المسلمين
19-07-2014, 06:21 PM
شكرا اخى ثامر

بيانكى
19-10-2014, 01:54 AM
جمييييييييييييييييييييييي يييل
اية الحلاوه دى