ÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÀ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌÀ¬ÀÀÀ¬ÀÀÀ¬ÀÀÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÌ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌ̬ÀÀÀ¬ÀÀÀ¬ÀÀ¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî >»?Ð Ð Ý �Ð  °� �€° ÐÐ  Ý Ý  ÐÐ  À °€€�    �°  ��� � À� ° €€ ��  ÐÝ      �  ° À �°ÐÝÀ    €� €�° € �   À Ì € À€ €€      �€€   € €€  àî€ ° îîàî° îî   îî � àî€� ° �€°À� € À€ €   € °À€�àî‹ ª€� Ѐ Ý � À€ Ð  À€Ð�€Ý  Ð � €� € � �  ° À €  ° €   °€    ÐÝ€ À €�Ì € À �À   €    � ÐÝ �° �   �°ÐÝ �Ð € ° € €�€ €   Ѐ°Ý Ð   € €°   À €€ �   àî -- 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