Tab Einz
--unnamed game--
--by elidavididi
--starts game
function _init()
--oh no! tables!
plr={
sprite=1,
x=12,
y=72,
w=8,
h=8,
flp=false,
deltax=2,
deltay=3,
acc=0.5,
anim=0,
running=false,
crouching=false,
jumping=false,
falling=false,
landed=false,
}
gravity=0.3
friction=0.85
end |
Tab Zwei:
--updates and draws --handles the game logic function _update() plrupdate() plranimate() end --handles the gfx function _draw() cls(12) map() spr(plr.sprite,plr.x,plr.y,1,1,plr.flp) end |
Tab Trei:
--colliders
function collidemap(obj,aim,flag)
--obj's table need x,y,w and h.
--and aim needs all 4 directions in english.
local x=obj.x local y=obj.y
local w=obj.w local h=obj.h
--get ready to do math, were going down the rabbit hole.
local x1=0 local y1=0
local x2=0 local y2=0
if aim== "left" then
x1=x-1 y1=y
x2=x y2=y+h-1
elseif aim== "right" then
x1=x+w y1=y
x2=x+w+1 y2=y+h-1
elseif aim== "up" then
x1=x+1 y1=y-1
x2=x+w-1 y2=y
elseif aim== "down" then
x1=x y1=y+h
x2=x+w y2=y+h
end
--the m/fget turns every 8 pixels to 1 tile.
x1=x1/8 y1=y1/8
x2=x2/8 y2=y2/8
if fget(mget(x1,y1), flag)
or fget(mget(x1,x2), flag)
or fget(mget(x2,y1), flag)
or fget(mget(x2,y2), flag) then
return true
else
return false
end
end |
Tab Vier:
--player cordinations function plrupdate() --physics time! player.deltay+=gravity player.deltax*=friction end |
1
plrupdate() is trying to update the values of a table called 'player', the table is called 'plr'.
[Please log in to post a comment]




