Jump to content

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


Recommended Posts

Posted (edited)

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

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

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

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

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

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

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
krsofa999.gif
Posted

هكذا يكتب ي أخي

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

شكرا لك

╔═╦╦╦╗╔╦═╦═╦═╦═╦╦╦╦╦╦╦═╦╦╦╦╗

║║║║║╠╝║║╚╣║║║║║║║║║║║║║║║║║

║║║║║╚╦╦═╦╦╦╦╣║║║║║║║║║║║║║║

║║║║╠═╣╠╝╔══╝║║║║║╟╢║║║║║╟╢║

╚╩══╩══╩═╩═══╩╩══╩╩═╩╩╩═╩╩═╝

«سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك»

M7mdAl7arthy : لتواصل سكايب

Posted (edited)
تسلم شرح رائع وان شاء الله الجميع يستفيد

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

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
krsofa999.gif
Posted
local x,y = guiGetScreenSize () 

انا اعني هذا ي اخي

راجع Syntax

https://wiki.multitheftauto.com/wiki/GuiGetScreenSize

╔═╦╦╦╗╔╦═╦═╦═╦═╦╦╦╦╦╦╦═╦╦╦╦╗

║║║║║╠╝║║╚╣║║║║║║║║║║║║║║║║║

║║║║║╚╦╦═╦╦╦╦╣║║║║║║║║║║║║║║

║║║║╠═╣╠╝╔══╝║║║║║╟╢║║║║║╟╢║

╚╩══╩══╩═╩═══╩╩══╩╩═╩╩╩═╩╩═╝

«سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك»

M7mdAl7arthy : لتواصل سكايب

  • 4 years later...
Posted
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

تمام 

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

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

Skype 01100001 01101100 01101001 01011111 01101101 01110100 00110001 00111001 00111001 00111001

every thing is gonna be alright

every thing is gonna be okay

it's gonna be a good good life

that's what my therapist say

Posted
3 minutes ago, Master_MTA said:

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

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

1000*800

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

800*600

تمام 

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

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

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

من أراد الفشل عليه بالنجاح

Posted
2 minutes ago, #BrosS said:

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

شوف يعسل 

مثلا حطيت 

x=x-300

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

800*600

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

1000*800

مثال هذا طبعا

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

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

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

Skype 01100001 01101100 01101001 01011111 01101101 01110100 00110001 00111001 00111001 00111001

every thing is gonna be alright

every thing is gonna be okay

it's gonna be a good good life

that's what my therapist say

Posted
1 minute ago, Master_MTA said:

شوف يعسل 

مثلا حطيت 

x=x-300

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

800*600

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

1000*800

مثال هذا طبعا

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

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

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

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

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

من أراد الفشل عليه بالنجاح

Posted
17 minutes ago, #BrosS said:

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

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

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

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

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

السيرفر حقي

  • Like 1

Skype 01100001 01101100 01101001 01011111 01101101 01110100 00110001 00111001 00111001 00111001

every thing is gonna be alright

every thing is gonna be okay

it's gonna be a good good life

that's what my therapist say

Posted
15 hours ago, #BrosS said:

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

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

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

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

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

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

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

و WordBreak يحتاج Height

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

IT Projet Manager

 

Posted
On ٢٠‏/٥‏/٢٠١٧ at 20:13, coNolel said:

up

ليش رافعه ؟ المهمتم للدس اكس يفتش كل صفحة بصفحة

- Hashemite Kingdom Of Jordan -

Posted
19 minutes ago, #_iMr.[E]coo said:

ليش رافعه ؟ المهمتم للدس اكس يفتش كل صفحة بصفحة

مدري ، حسيت انو يمكن أحهم يحتاجه ، 

فيه مشكل ولا ؟

IT Projet Manager

 

Posted
On ٢٠‏/٥‏/٢٠١٧ at 11:01, Master_MTA said:

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

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

1000*800

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

800*600

تمام 

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

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


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

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

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

 

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


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

  • Like 1
  • Thanks 1

 

 


April 25, 2016, THE BEGINNING OF MY JOURNEY ?

Check my apps in playStore


 

Posted
6 hours ago, Killer Project said:


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

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

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

 

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


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

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

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

Skype 01100001 01101100 01101001 01011111 01101101 01110100 00110001 00111001 00111001 00111001

every thing is gonna be alright

every thing is gonna be okay

it's gonna be a good good life

that's what my therapist say

Posted
25 minutes ago, Killer Project said:

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

Skype 01100001 01101100 01101001 01011111 01101101 01110100 00110001 00111001 00111001 00111001

every thing is gonna be alright

every thing is gonna be okay

it's gonna be a good good life

that's what my therapist say

Posted
7 hours ago, Master_MTA said:

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

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

- Hashemite Kingdom Of Jordan -

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...