目次

概要

利用API/クラス

ソースコード

//==================================================
// Sprite Draw Test.
//        by MachiaWorks
//==================================================
fileInFolder = function(folderName, fileName)
if not file.exists(folderName) then
	print "Folder """ + folderName + """ not found."
	exit
      end if
      return file.child(folderName, fileName)
end function

picture = file.loadImage(fileInFolder("images", "bullet32.png"))

width_max = 800
height_max = 600
window.width=width_max
window.height=height_max//short?

w_spr=floor(800/32)-1
h_spr=floor(600/32)

for j in range(0,h_spr)
  for i in range(0,w_spr)
      spr = new Sprite
      spr.image=picture //loadimage
      spr.x=i*32
      spr.y=j*32
      spr.scale=1
      sprites.push spr //register sprites
  end for
end for

fixed_frame = 0
update_flag=0

prev_time = 0
now_time =0
frame = 0

delta = 0.0167/2
print_cnt=0
fixed_frame2=0
time_calc=0

while not key.pressed("return")
  update_flag = 0

  //time calc
  //update_flag = 1
  now_time = time

  if now_time-prev_time > delta then
      update_flag=1
      prev_time = now_time
  end if

  //update
  if update_flag == 1 then

      for j in range(0,h_spr)
          for i in range(0,w_spr)
              sprites[j*(w_spr+1)+i].scale = 1-(fixed_frame+i+j)%32*0.05 //register sprites
          end for
      end for

      fixed_frame+=1
      fixed_frame2+= 1

      //wait
      if now_time-prev_time <delta then
          wait (delta - (now_time-prev_time))
      end if
  end if

  frame=frame+1

  if time() - time_calc>1  then
      text.clear
      //print time_calc
      print "frame : "+frame
      print "draw_frame : " + fixed_frame2
      fixed_frame2=0
      frame=0
      time_calc =time
  end if
end while

動画