--[[
神兽保佑！菩萨包邮！佛祖包邮！真主阿拉包邮！代码无BUG！！！
创建作者：Administrator
创建时间：2015年1月23日21时18分8秒
感谢使用：更鸟游戏
]]
------------------------------------------
function 系统配置(t)
    t.title = "画布和批量绘图测试 20150121"				-- 文本型	窗口标题
    t.window.width = 800			-- 数值型	宽度
    t.window.height = 600			-- 数值型	高度
    t.window.msaa = 0					-- 数值型	抗锯齿数
    t.window.vsync =			true		-- 逻辑型	垂直同步
    t.window.borderless = false		-- 逻辑型	无边框
    t.window.resizable =	false		-- 逻辑型	可调节大小
    t.window.highdpi =		false		-- 逻辑型	高清模式显示，土豪专用
    t.window.srgb =				true		-- 逻辑型	伽马修正
    t.window.fullscreen =	false		-- 逻辑型	全屏
    t.window.fullscreentype = "exclusive"	-- 文本型	全屏显示模式
		
    t.modules.joystick = 	false		-- 逻辑型	手柄
    t.modules.audio =			false		-- 逻辑型	音频
    t.modules.sound =			false		-- 逻辑型	声音流
    t.modules.physics =		false		-- 逻辑型	物理引擎
    t.modules.thread =		false		-- 逻辑型	线程系统
end
-----------头部可以intro，变量等----------

function testCanvas()
  img= 创建图像("zazaka.png")

  translate = {x=0, y=0}
  scene = {}
  scene.width = 2048
  scene.height = 2048

  --初始化Canvas
  myCanvas = 创建画布(scene.width, scene.height)

  --创建随机物体
  imageSet = {} --为图片坐标集合
  for i = 1, 10000 do
    local entry = {}
    entry.x = math.random(scene.width-128)
    entry.y = math.random(scene.height-128)
    imageSet[i] = entry
  end
  --设置绘图操作
  置画布(myCanvas)
  for _,v in ipairs(imageSet) do
    绘制(img, v.x, v.y)
  end
  置画布()
end

function drawCanvas()
  坐标保存()
  坐标切换(translate.x, translate.y)
  if testOn then
    绘制(myCanvas, 0, 0)
  else
    for _,v in ipairs(imageSet) do
      绘制(img, v.x, v.y)
    end
  end
  坐标恢复()

 local  fps = 取帧率()
  if testOn then
    窗口置标题("C和空格键看效果 开启canvas时FPS:" ..fps,0,0)
  else
  	窗口置标题("C和空格键看效果 关闭canvas时FPS:" ..fps,0,0)
  end
end


function testBatch()
  tex= 创建图像("run.png")
      quad={}
      local w,h=84,108
    local texW,texH=tex:getWidth(),tex:getHeight()
    local col,row=texW/w,texH/h
    for i=1,row do
      for j=1,col do
      table.insert (quad,创建四边形((j-1)*w,(i-1)*h,w,h,texW,texH))
      end
    end
    --创建512个需要绘制的图片
	mySprite = 创建精灵组( tex,512)
	
end

function drawBatch()
  if testOn then
      for i=1,8 do
        for j=1,64 do
          --84,108为图块的宽和高,864为图片的高
          mySprite:setColor(math.random(0,255),math.random(0,255),math.random(0,255))
          mySprite:add((j-1)*84,(j-1)*104+(i-1)*864,0,1,1,0,0,0,0)
        end
      end
  else
	
   for i=1,8 do
        for j=1,64 do
          --84,108为图块的宽和高,864为图片的高
          mySprite:setColor(math.random(0,255),math.random(0,255),math.random(0,255))
          mySprite:add(math.ceil(j%8-1)*84,math.ceil(j/8-1)*104+(i-1)*864,0,1,1,0,0,0,0)
        end
    end
  end
  绘制(mySprite,0,0)
  local  fps = 取帧率()
  
	if testOn then
  	窗口置标题("C和空格键看效果 使用bind时fps:" .. fps )
  else
  	窗口置标题("C和空格键看效果 关闭bind时fps:" .. fps)
  end
end

------------------------------------------
function 引擎创建()
	--置资源目录(取游戏路径())  --设置游戏目录，必有该语句！
	置资源目录(取调试目录().."Example/Win32/GameRes")
	--因为例程演示需要，设置演示资源目录，编译时务必手动更改游戏目录
	
  testOn=false --testOn为false时关闭canvas/spritebatch的bind,为true时开启
  mode=false  --mode为false测试spritebatch,为true测试canvas
  testCanvas()
  testBatch()
end
------------------------------------------

function 逻辑更新(dt)

end
------------------------------------------

function 画面显示()
    if mode then
    	drawCanvas()
    else
    	drawBatch()
    end
end
------------------------------------------

function 键盘按下(key)
	if key=="c" then
    mode = not mode
  end
  if key==" " then
    testOn= not testOn
  end

  if key=="left" then
    translate.x = translate.x + 1000*dt
  elseif key=="right" then
    translate.x = translate.x - 1000*dt
  end

  if key=="up" then
    translate.y = translate.y + 1000*dt
  elseif key=="down" then
    translate.y = translate.y - 1000*dt
  end
end
------------------------------------------

function 键盘放开(key)
	if key == "escape" then 事件停止() end
end
------------------------------------------

function 鼠标按下(x,y,button)
	
end
------------------------------------------

function 鼠标放开(x,y,button)
	
end
------------------------------------------

function 鼠标移动(x,y,xrel,yrel)
	
end
------------------------------------------

function 鼠标滚轮移动(x,y,xrel,yrel)
	
end
------------------------------------------

function 窗口尺寸变化(w,h)
		
end
------------------------------------------

function 窗口获得焦点(f)
		
end
------------------------------------------

function 窗口鼠标进入(f)
		
end
------------------------------------------

function 窗口可视状态(v)
		
end
------------------------------------------

function 线程错误消息(thread,errorstr)
		
end
------------------------------------------

function 拖放得到目录(dir)

end
------------------------------------------

function 拖放得到文件(f)

end
------------------------------------------