̬̬̬̈̬̬̬̬̈̬̬̬̬̬̪쬪̬̬̬̪쬪 >?                                          -- title: star travel -- author: visy -- desc: a little bit of space travel among the stars t=0 x=96 y=24 stars = {} starcount = 1024 cam = { x = 0, y = 0 } min_z = 15 max_z = 50 function draw_space() cls(0) end function draw_stars() table.sort(stars, function(a, b) return a.z > b.z end) local xo = -128 local yo = -64 local zz = 5+math.cos(time()*0.0001)*8 for i=1,starcount do local s = stars[i] local angle = math.cos(time()*0.0001+math.sin(time()*0.0001)+s.z*0.004)*3.14 local sin = math.sin(angle)*zz local cos = math.cos(angle)*zz s.xrot = ((xo+s.x)*cos - (yo+s.y)*sin) s.yrot = ((yo+s.y)*cos + (xo+s.x)*sin) s.xrot = s.xrot-xo s.yrot = s.yrot-yo s.z = s.z-dt*0.1 s.z=s.z % 256 local proj_z = s.z / max_z local pos = { x = (128-s.xrot) / proj_z, y = (64-s.yrot) / proj_z } local size = s.size / proj_z elli(128+pos.x - size / 2, 64+pos.y - size / 2, size, size,16-s.z/32) end end function draw() draw_space() draw_stars() end function init() for i=1,starcount do local s = { size=2, x=math.random()*320, y=math.random()*128, z=32*math.random() * (max_z - min_z) + min_z } table.insert(stars,s) end end function update() end init() dt=0 pt=0 function TIC() dt=time()-pt pt=time() draw() update() end