FreeSpace Releases > Scripting Releases

hud pong

<< < (2/10) > >>

Nuke:
an update
now it supports any resolution, and you can set different constants for where to draw the game and how big.


--- Code: ---
#Global Hooks

$GameInit:

[

--HudPong (tm)
w = gr.getScreenWidth()
h = gr.getScreenHeight()

poneh = 0
ptwoh = 0
gameh = 300 --you can change this to what
gamew = 600 --ever resolution you want.
gamex = w / 2 --set what coords to draw
gamey = h / 2 --the game at here (game center).
ballx = gamex
bally = gamey
ballxvel = 1 --or change theese if you
ballyvel = 1 --want a faster ball speed
balla = 255
deathmsg = "Dont Loose Your Balls!"

drawpongarea = function(x, y, sx, sy) --pong box here
gr.setColor(0,200,0,255) --pong green
gr.drawLine(x-sx, y+sy, x+sx, y+sy)
gr.drawLine(x-sx, y-sy, x+sx, y-sy)
gr.setColor(0,100,0,20)
gr.drawRectangle(x-sx, y+sy, x+sx, y-sy) --now featuring a transparent back
end

drawpongpaddle = function(x, y)
gr.setColor(0,0,200,255)
gr.drawRectangle(x+5, y+15, x-5, y-15, true)
end

drawpongball = function(x, y, a)
gr.setColor(200,0,0,a)
gr.drawCircle(10,x,y)
end

--im nuts

]

$HUD:

[

--HudPong

drawpongarea(gamex,gamey,gamew/2,gameh/2) --draw playing area every frame

if w >= 1024 then --compensate for resolution
maxis1 = ((ms.getY() /  768) * (gameh * 0.9)) --paddels, what a mess, my math sucks
maxis2 = ((ms.getX() / 1024) * (gameh * 0.9))
else
maxis1 = ((ms.getY() / 480) * (gameh * 0.9)) --paddels, what a mess, my math sucks, now in lowres!
maxis2 = ((ms.getX() / 640) * (gameh * 0.9))
end


poneh = (maxis1 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)
ptwoh = (maxis2 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)
drawpongpaddle(gamex + (gamew/2) - 5, poneh)
drawpongpaddle(gamex - (gamew/2) + 5, ptwoh)

ballx = ballx + ballxvel --move and draw the ball
bally = bally + ballyvel
drawpongball(ballx, bally, balla)

if bally < (gamey - (gameh / 2)) + 5 or bally > (gamey + (gameh / 2)) - 5 then
ballyvel = ballyvel * -1 --bounce off borders
end

if ballx < (gamex - (gamew / 2)) or ballx > (gamex + (gamew / 2)) then --tell the player when he gets castrated and reset the game
gr.setColor(200,200,200,255)
gr.drawString(deathmsg, gamex - (gr.getStringWidth(deathmsg) / 2) , gamey)
balla = balla - 8
if balla < 1 then
ballx = gamex
bally = gamey
balla = 255
end
end

if (ballx < (gamex - (gamew / 2)) + 15 and bally > ptwoh - 15 and bally < ptwoh + 15) or (ballx > (gamex + (gamew / 2)) - 15 and bally > poneh - 15 and bally < poneh + 15) then
ballxvel = ballxvel * -1 --bounce off paddles
end

--nuts indeed

]

#End


--- End code ---

im gonna put it up on the wiki cause i guess it can be educational :D

neoterran:
 :D :p :p ;)

Nuclear1:
:lol: :lol: :lol:

This is awesome!


--- Quote ---I think this is going in DEM II. :D
--- End quote ---

:D

CP5670:
This is brilliant stuff. :D :yes:

Unknown Target:
Screenies for those who don't have access to FS2 just now :(

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version