Jump to content

Радар


Recommended Posts

Привет, помогите пожалуйста отрисовать карту под круг. До этого радар был квадратным, но надо круглый радар)) Мне хотябы накидайте примеров пожалуйста. Что куда?
СКРИНШОТ      

Часть кода: 

local textura = dxCreateTexture("map.png") -- < Карта 

local shader, map, masked, player
shader = dxCreateShader('radar/files/masked.fx') -- < Шейдер
masked = dxCreateTexture('radar/files/masked.png', 'argb', false, 'clamp') --  < Черный кружок 

addEventHandler("onClientResourceStart", getResourceRootElement(),
	function ()
    createdTextures = {
			minimapMap = textura,
			bigmapMap = texturaF11,
		}
		initFont("Roboto", "Roboto.ttf", 12)
		initFont("RobotoB", "Roboto.ttf", 24)
		initFont("pricedown", "Roboto.ttf", 40)
		initFont("BrushScriptStd", "Roboto.ttf", 30)
		occupiedVehicle = getPedOccupiedVehicle(localPlayer)
		if getTexture("minimapMap") then
			dxSetTextureEdge(getTexture("minimapMap"), "border", tocolor(128, 167, 208))
		end
	end
) -- часть кода вырезано 

function renderMinimap(x, y, w, h) 
	dxUpdateScreenSource(screenSource, true)
	-- ... ... ... .
	-- ... ... ... .
	-- map
	dxSetRenderTarget(minimapRender)
	dxDrawImageSection(0, 0, minimapRenderSize, minimapRenderSize, remapTheSecondWay(playerPosX) - minimapRenderSize / minimapZoom / 2, remapTheFirstWay(playerPosY) - minimapRenderSize / minimapZoom / 2, minimapRenderSize / minimapZoom, minimapRenderSize / minimapZoom, getTexture("minimapMap"))
    -- rotation
    dxSetRenderTarget()
	dxDrawImage(minimapPosX - minimapRenderSize / 2 + minimapWidth / 2, minimapPosY - minimapRenderSize / 2 + minimapHeight / 2, minimapRenderSize, minimapRenderSize, minimapRender, cameraRotation - 180)
    
    -- / до этого применялся dx..ScreenSource для квадрата []
	--dxDrawImageSection(minimapPosX - minimapRenderSizeOffset, minimapPosY - minimapRenderSizeOffset, minimapWidth + minimapRenderSizeOffset * 2, minimapRenderSizeOffset, minimapPosX - minimapRenderSizeOffset, minimapPosY - minimapRenderSizeOffset, minimapWidth + minimapRenderSizeOffset * 2, minimapRenderSizeOffset, screenSource)
	--dxDrawImageSection(minimapPosX - minimapRenderSizeOffset, minimapPosY + minimapHeight, minimapWidth + minimapRenderSizeOffset * 2, minimapRenderSizeOffset, minimapPosX - minimapRenderSizeOffset, minimapPosY + minimapHeight, minimapWidth + minimapRenderSizeOffset * 2, minimapRenderSizeOffset, screenSource)
	--dxDrawImageSection(minimapPosX - minimapRenderSizeOffset, minimapPosY, minimapRenderSizeOffset, minimapHeight, minimapPosX - minimapRenderSizeOffset, minimapPosY, minimapRenderSizeOffset, minimapHeight, screenSource)
	--dxDrawImageSection(minimapPosX + minimapWidth, minimapPosY, minimapRenderSizeOffset, minimapHeight, minimapPosX + minimapWidth, minimapPosY, minimapRenderSizeOffset, minimapHeight, screenSource)
end

Спасибо ! 

Link to comment
On 04/10/2019 at 23:18, XaskeL said:

Используй шейдер маски с примером от сюда: https://nightly.multitheftauto.com/files/shaders/shader_hud_mask.zip
Если не получается, то кинь ответ сюда, я помогу

Да я использовал этот пример, но результат печальный: СКРИНШОТ  < при шейдере сбрасываются все позиции блипов, вращения, позиция, gps.

Link to comment
2 hours ago, Makaka said:

Да я использовал этот пример, но результат печальный: СКРИНШОТ  < при шейдере сбрасываются все позиции блипов, вращения, позиция, gps.

Рисуйте их отдельно от радара (выше чем он сам)

Link to comment
  • 5 months later...

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