Jump to content

[tutorial] الإبعآد والوإجهات الرسوميه


Recommended Posts

بسم الله الرحمن الرحيم

الحمدلله رب العاآلمين والصلإلإة والسلإلإم على رسوله اآلكريم وعلى آله وصحبه اجمعين

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

طريقة حسب ابعاد الشاشه للواجهه

لإبد من معرفة حجم الشاشه عند المستخدم لكي يتم حسب الازاحه

ولمعرفة حجم الشاشه عند المستخدم تستخدم الوظيفه هذي

guiGetScreenSize() 

اذا عرفت حجم الشاشه تقدر الان تحسب البعد الحقيقي لمقدار الازاحه من يسار الشاشه الى يمينها للعرض

ومن فوق الى تحت للطول

24_09_1213484588251.png

--------------------------------------------------

مثلا حجم الشاشه عندي 600*800

حجم الواجهه الرسوميه 250*300

والمكان المطلوب للواجهه

24_09_1213484588252.png

طريقة حساب البعد للمكان

x = 800 - 300

y = 600 - 250

النتيجه

winkrsofa = guiCreateWindow(500,350,300,250,"الواجهه يمين تحت",false) 
  

هذا البعد فقط للي حجم شاشتهم 800*600

ولحساب البعد للجميع الشاشات

نستخدم وظيفة guiGetScreenSize()

  
local x,y = guiGetScreenSize() 
x = x - 300 
y = y - 250 
winkrsofa = guiCreateWindow(x,y,300,250,"الواجهه يمين تحت",false) 
  

---------------------------------------------

مثلا حجم الشاشه عندي 600*800

حجم الواجهه الرسوميه 250*300

والمكان المطلوب للواجهه

24_09_1213484588255.png

طريقة حساب البعد للمكان

x = 800 - 300

y = 0

النتيجه

winkrsofa = guiCreateWindow(500,0,300,250,"الواجهه يمين فوق",false) 
  

للجميع الشاشات

  
local x,y = guiGetScreenSize() 
x = x - 300 
y = 0 
winkrsofa = guiCreateWindow(x,y,300,250,"الواجهه يمين فوق",false) 
  

---------------------------------------------

حجم الشاشه عندي 600*800

حجم الواجهه الرسوميه 250*300

والمكان المطلوب للواجهه

24_09_1213484588253.png

طريقة حساب البعد للمكان

x = 0

y = 600 - 250

النتيجه

winkrsofa = guiCreateWindow(0,350,300,250,"الواجهه يسار تحت",false) 
  

للجميع الشاشات

  
local x,y = guiGetScreenSize() 
x = 0 
y = y - 250 
winkrsofa = guiCreateWindow(x,y,300,250,"الواجهه يسار تحت",false) 
  

---------------------------------------------

حجم الشاشه عندي 600*800

حجم الواجهه الرسوميه 250*300

والمكان المطلوب للواجهه

24_09_1213484588254.png

طريقة حساب البعد للمكان

x = (800 - 300) / 2

y = (600 - 250) / 2

النتيجه

winkrsofa = guiCreateWindow(250,175,300,250,"الواجهه بالوسط",false) 
  

للجميع الشاشات

  
local x,y = guiGetScreenSize() 
x = x - 300 
y = y - 250 
winkrsofa = guiCreateWindow(x/2,y/2,300,250,"الواجهه بالوسط",false) 
  
Edited by Guest
Link to comment
تسلم شرح رائع وان شاء الله الجميع يستفيد

يامرحبآ فييكـ وإإن شاء الله إستفدت

edit :

مشكور انا من اول ابي افهم لذي الحركة

مشكور فهمت

و ان شاء الله الكل يفهم

حيآآك اإلله منور إلموضوع، وبأذن الله انك فهمت الحركه

edit #2:

هكذا يكتب ي أخي
local x,y = guiGetScreenSize () 
x = (x - 300) 
y = (y - 250) 
winkrsofa = guiCreateWindow(x/2,y/2,300,250,"الواجهه بالوسط",false) 

شكرا لك

يآهلإلإ فييك منور إلموضوع

والإقوآس إختياريه مآهو لإزم في الحاإله ذي،

الإ اذا كنت بتحسب قيمتين مختلفه او مقآرنه

لإلإزم تحط إلإقوآس، زي ماحطيتها انا في المتغير هذا

طريقة حساب البعد للمكان

x = (800 - 300) / 2

y = (600 - 250) / 2

Edited by Guest
Link to comment
  • 4 years later...
On ٢٤‏/٩‏/٢٠١٢ at 06:57, KrSoFA said:

بسم الله الرحمن الرحيم

الحمدلله رب العاآلمين والصلإلإة والسلإلإم على رسوله اآلكريم وعلى آله وصحبه اجمعين

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

طريقة حسب ابعاد الشاشه للواجهه

لإبد من معرفة حجم الشاشه عند المستخدم لكي يتم حسب الازاحه

ولمعرفة حجم الشاشه عند المستخدم تستخدم الوظيفه هذي

 


guiGetScreenSize() 
 

 

اذا عرفت حجم الشاشه تقدر الان تحسب البعد الحقيقي لمقدار الازاحه من يسار الشاشه الى يمينها للعرض

ومن فوق الى تحت للطول

24_09_1213484588251.png

--------------------------------------------------

مثلا حجم الشاشه عندي 600*800

حجم الواجهه الرسوميه 250*300

والمكان المطلوب للواجهه

24_09_1213484588252.png

طريقة حساب البعد للمكان

x = 800 - 300

y = 600 - 250

النتيجه

 


winkrsofa = guiCreateWindow(500,350,300,250,"الواجهه يمين تحت",false) 
  
 

 

هذا البعد فقط للي حجم شاشتهم 800*600

ولحساب البعد للجميع الشاشات

نستخدم وظيفة guiGetScreenSize()

 


  
local x,y = guiGetScreenSize() 
x = x - 300 
y = y - 250 
winkrsofa = guiCreateWindow(x,y,300,250,"الواجهه يمين تحت",false) 
  
 

 

---------------------------------------------

مثلا حجم الشاشه عندي 600*800

حجم الواجهه الرسوميه 250*300

والمكان المطلوب للواجهه

24_09_1213484588255.png

طريقة حساب البعد للمكان

x = 800 - 300

y = 0

النتيجه

 


winkrsofa = guiCreateWindow(500,0,300,250,"الواجهه يمين فوق",false) 
  
 

 

للجميع الشاشات

 


  
local x,y = guiGetScreenSize() 
x = x - 300 
y = 0 
winkrsofa = guiCreateWindow(x,y,300,250,"الواجهه يمين فوق",false) 
  
 

 

---------------------------------------------

حجم الشاشه عندي 600*800

حجم الواجهه الرسوميه 250*300

والمكان المطلوب للواجهه

24_09_1213484588253.png

طريقة حساب البعد للمكان

x = 0

y = 600 - 250

النتيجه

 


winkrsofa = guiCreateWindow(0,350,300,250,"الواجهه يسار تحت",false) 
  
 

 

للجميع الشاشات

 


  
local x,y = guiGetScreenSize() 
x = 0 
y = y - 250 
winkrsofa = guiCreateWindow(x,y,300,250,"الواجهه يسار تحت",false) 
  
 

 

---------------------------------------------

حجم الشاشه عندي 600*800

حجم الواجهه الرسوميه 250*300

والمكان المطلوب للواجهه

24_09_1213484588254.png

طريقة حساب البعد للمكان

x = (800 - 300) / 2

y = (600 - 250) / 2

النتيجه

 


winkrsofa = guiCreateWindow(250,175,300,250,"الواجهه بالوسط",false) 
  
 

 

للجميع الشاشات

 


  
local x,y = guiGetScreenSize() 
x = x - 300 
y = y - 250 
winkrsofa = guiCreateWindow(x/2,y/2,300,250,"الواجهه بالوسط",false) 
  
 

مشكور يقلبي لكن في تعقيب بسيط 

بالنسبه لحجم الشاشات يختلف مثلا نقول 

1000*800

اي رقم طبعا جبته من مخي وعندنا شاشه اخرى

800*600

تمام 

بيكون في مشكله صغيوره وهي اختلاف مكان اللوحه من الشاشه ذي الى الشاشه ذي فهمت علي فهذا مب حل لكن طريقتك الاقرب للصواب وانا حاليا

ابحث عن حل لذي المشكله @@@

Link to comment
3 minutes ago, Master_MTA said:

مشكور يقلبي لكن في تعقيب بسيط 

بالنسبه لحجم الشاشات يختلف مثلا نقول 

1000*800

اي رقم طبعا جبته من مخي وعندنا شاشه اخرى

800*600

تمام 

بيكون في مشكله صغيوره وهي اختلاف مكان اللوحه من الشاشه ذي الى الشاشه ذي فهمت علي فهذا مب حل لكن طريقتك الاقرب للصواب وانا حاليا

ابحث عن حل لذي المشكله @@@

هوووهمم لم افهممم

Link to comment
2 minutes ago, #BrosS said:

هوووهمم لم افهممم

شوف يعسل 

مثلا حطيت 

x=x-300

تمام بتجي بالشاشة

800*600

غير مكان الشاشة

1000*800

مثال هذا طبعا

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

فهمت علي وابعاد الجيو نفسها اللي هو الارقمنت الرابع والثالث تخليها بنسبه لشاشة اللاعب لكن لسا ما جربتها جاتني الفكره بس

بالمناسبه بروس ابيك بالسيرفر حقي شوي ممكن تجي

Link to comment
1 minute ago, Master_MTA said:

شوف يعسل 

مثلا حطيت 

x=x-300

تمام بتجي بالشاشة

800*600

غير مكان الشاشة

1000*800

مثال هذا طبعا

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

فهمت علي وابعاد الجيو نفسها اللي هو الارقمنت الرابع والثالث تخليها بنسبه لشاشة اللاعب لكن لسا ما جربتها جاتني الفكره بس

احداثيات الجيو والدي اكس نفس الشي

دي اكس تكست عندك ثالث ارجمنت والرابع ماعندهم دور ابدا ، المفروض الطول والعرض بس مايأثرو

وللحين مافهمتك ذذ

Link to comment
17 minutes ago, #BrosS said:

احداثيات الجيو والدي اكس نفس الشي

دي اكس تكست عندك ثالث ارجمنت والرابع ماعندهم دور ابدا ، المفروض الطول والعرض بس مايأثرو

وللحين مافهمتك ذذ

اذهب للجحيم معرف ياخي الكل يقولي معرف اوصل المعلومه قهر ياخي @@@@2

اسمع رح شف وش سويت في مود البيوت حقي نيهاهاها شفه بالمدري شسمه

السيرفر حقي

  • Like 1
Link to comment
15 hours ago, #BrosS said:

احداثيات الجيو والدي اكس نفس الشي

دي اكس تكست عندك ثالث ارجمنت والرابع ماعندهم دور ابدا ، المفروض الطول والعرض بس مايأثرو

وللحين مافهمتك ذذ

خخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخ

من قالك تخش برمجة بالله ؟

أقرأ أرقمنت الـ Clip

يحتاج  الـ Width ضروووووووووري

و WordBreak يحتاج Height

يرحم ابوك لا تقعد تتفلسف في شي ما تعرفه:

Link to comment
On ٢٠‏/٥‏/٢٠١٧ at 11:01, Master_MTA said:

مشكور يقلبي لكن في تعقيب بسيط 

بالنسبه لحجم الشاشات يختلف مثلا نقول 

1000*800

اي رقم طبعا جبته من مخي وعندنا شاشه اخرى

800*600

تمام 

بيكون في مشكله صغيوره وهي اختلاف مكان اللوحه من الشاشه ذي الى الشاشه ذي فهمت علي فهذا مب حل لكن طريقتك الاقرب للصواب وانا حاليا

ابحث عن حل لذي المشكله @@@


ما يحتاج كل اللي تسويه وتدور والخ

مود الجيو اديتور يخليك تسويها على اساس مقاس اي شاشة

وكمان بدون التعديل على الاحداثيات واخد احداثيات الشاشة والخ تقدر تسوي شي بسيط

 

-- شي تختاره بعد ما تحدد الجيو اللي تبي تسوي في اي شاشة ناسي اسمه الصراحة


رح يسوي لك الشي اللي انت صممته عند كل الشاشات

  • Like 1
  • Thanks 1
Link to comment
6 hours ago, Killer Project said:


ما يحتاج كل اللي تسويه وتدور والخ

مود الجيو اديتور يخليك تسويها على اساس مقاس اي شاشة

وكمان بدون التعديل على الاحداثيات واخد احداثيات الشاشة والخ تقدر تسوي شي بسيط

 

-- شي تختاره بعد ما تحدد الجيو اللي تبي تسوي في اي شاشة ناسي اسمه الصراحة


رح يسوي لك الشي اللي انت صممته عند كل الشاشات

ما يظبط على كل الشاشات يا سكر

على العموم اعتبروني ما قلت شي

Link to comment
25 minutes ago, Killer Project said:

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

Link to comment
7 hours ago, Master_MTA said:

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

getPosition استعمل يوزفل فنكشن شطحة

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...