Jump to content

حل لمشكلة دقأت الشاشة gui


#FeldMan

Recommended Posts

تقدر تضبطها من سكربت جي يو آي ايديتور

كلك يمين ع اللوحة تحصل خيارين اتوقع كذا :

Positive

Relative

حط الاختيار ع الثانية و سويها لكل الأدوات اللي تحطها باللوحة

عشان تختصر ^_^

 

أو تقدر تسوي الطريقة اللي تحت اذا ما كنت تستخدم السكربت :

 

screenW,screenH=guiGetScreenSize()

-- نفترض ان شاشتك مقاسها 1920 في 1080
-- ولنفترض ان احداثيات اللوحة كذا
--x=500, y=300, w=200, h=200

-- كيف تضبطها ؟
-- كذا !
-- x / screenW, y / screenH, w / screenW, h / screenH
-- x = 0.26, y = 0.27, w = 0.104, h = 0.185

-- اخر ارقمنت بالدالة اللي تحت خليه ترو

guiCreateWindow( x, y, w, h, 'GUI', true )
Link to comment

كود كنت مسويه من زمن

function fixWindowPosition(wnd,sx,sy)
		
		local x,y=guiGetPosition(wnd,false)
		local wx,wy=guiGetSize(wnd,false)
		
		if x and y and wx and wy then
			
			local scx,scy=guiGetScreenSize()
			local fixx,fixy=(scx/sx),(scy/sy)
			
			guiSetPosition(wnd,x*fixx,y*fixy,false)
			guiSetSize(wnd,wx*fixx,wy*fixy,false)
			
			local ch=getElementChildren(wnd)
			
				if #ch~=0 then
				
					for k,v in ipairs(ch)do
					
						fixWindowPosition(v,sx,sy)
					
					end
				
				end
			
			return true
		
		end
		
		return false
		
	end

كل اللي عليك

تحط النافذة اللي تبي تزبطها وهو تلقائي بيزبطها لكل الشاشات + كل الالمنتات اللي داخل اللوحه بتتزبط تلقائي

الاستخدام

--1366=عرض  شاشتك
--768==ارتفاع شاشتك
fixWindowPosition(GUIEditor,1366,768)

بالتوفيق

  • Like 2
  • Thanks 1
Link to comment
11 hours ago, Master_MTA said:

كود كنت مسويه من زمن


function fixWindowPosition(wnd,sx,sy)
		
		local x,y=guiGetPosition(wnd,false)
		local wx,wy=guiGetSize(wnd,false)
		
		if x and y and wx and wy then
			
			local scx,scy=guiGetScreenSize()
			local fixx,fixy=(scx/sx),(scy/sy)
			
			guiSetPosition(wnd,x*fixx,y*fixy,false)
			guiSetSize(wnd,wx*fixx,wy*fixy,false)
			
			local ch=getElementChildren(wnd)
			
				if #ch~=0 then
				
					for k,v in ipairs(ch)do
					
						fixWindowPosition(v,sx,sy)
					
					end
				
				end
			
			return true
		
		end
		
		return false
		
	end

كل اللي عليك

تحط النافذة اللي تبي تزبطها وهو تلقائي بيزبطها لكل الشاشات + كل الالمنتات اللي داخل اللوحه بتتزبط تلقائي

الاستخدام


--1366=عرض  شاشتك
--768==ارتفاع شاشتك
fixWindowPosition(GUIEditor,1366,768)

بالتوفيق

مشكور

 

22 hours ago, NX_CI said:

تقدر تضبطها من سكربت جي يو آي ايديتور

كلك يمين ع اللوحة تحصل خيارين اتوقع كذا :

Positive

Relative

حط الاختيار ع الثانية و سويها لكل الأدوات اللي تحطها باللوحة

عشان تختصر ^_^

 

أو تقدر تسوي الطريقة اللي تحت اذا ما كنت تستخدم السكربت :

 


screenW,screenH=guiGetScreenSize()

-- نفترض ان شاشتك مقاسها 1920 في 1080
-- ولنفترض ان احداثيات اللوحة كذا
--x=500, y=300, w=200, h=200

-- كيف تضبطها ؟
-- كذا !
-- x / screenW, y / screenH, w / screenW, h / screenH
-- x = 0.26, y = 0.27, w = 0.104, h = 0.185

-- اخر ارقمنت بالدالة اللي تحت خليه ترو

guiCreateWindow( x, y, w, h, 'GUI', true )

مشكور

Link to comment
12 hours ago, Master_MTA said:

كود كنت مسويه من زمن


function fixWindowPosition(wnd,sx,sy)
		
		local x,y=guiGetPosition(wnd,false)
		local wx,wy=guiGetSize(wnd,false)
		
		if x and y and wx and wy then
			
			local scx,scy=guiGetScreenSize()
			local fixx,fixy=(scx/sx),(scy/sy)
			
			guiSetPosition(wnd,x*fixx,y*fixy,false)
			guiSetSize(wnd,wx*fixx,wy*fixy,false)
			
			local ch=getElementChildren(wnd)
			
				if #ch~=0 then
				
					for k,v in ipairs(ch)do
					
						fixWindowPosition(v,sx,sy)
					
					end
				
				end
			
			return true
		
		end
		
		return false
		
	end

كل اللي عليك

تحط النافذة اللي تبي تزبطها وهو تلقائي بيزبطها لكل الشاشات + كل الالمنتات اللي داخل اللوحه بتتزبط تلقائي

الاستخدام


--1366=عرض  شاشتك
--768==ارتفاع شاشتك
fixWindowPosition(GUIEditor,1366,768)

بالتوفيق

GUIEditor احط هنا اسم اللوحة صح ولأ الغلط من الكود ؟.
 

Link to comment
30 minutes ago, #FeldMan said:

GUIEditor احط هنا اسم اللوحة صح ولأ الغلط من الكود ؟.
 

يب حط اسم اللوحة

fixWindowPosition( GUIEditor , 1366 , 768 )

الارقيومنت الاول اللوحة

الارقيومنت الثاني والثالث مقاسات شاشتك

Edited by KillerX
  • Like 1
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...