--[[
神兽保佑！菩萨包邮！佛祖包邮！真主阿拉包邮！代码无BUG！！！
创建作者：Administrator
创建时间：2015年1月23日21时18分8秒
感谢使用：更鸟游戏
]]
------------------------------------------
function 系统配置(t)
    t.title = "物理效果3汽车爆炸 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 =		true		-- 逻辑型	物理引擎
    t.modules.thread =		false		-- 逻辑型	线程系统
end
-----------头部可以intro，变量等----------



------------------------------------------
function 引擎创建()
	--置资源目录(取游戏路径())  --设置游戏目录，必有该语句！
	置资源目录(取调试目录().."Example/Win32/GameRes")
	--因为例程演示需要，设置演示资源目录，编译时务必手动更改游戏目录
	置字体(创建字体("Verdana.ttf",12))
	
	置物理世界单位(40) --设置40px(像素)为1米,汽车图片是120px长,这样就有3m了

	--创建一个水平加速度为3的世界,让接下来的汽车自己运动
	world = NewWorld(40*3, 0, true)
	--设置世界里的回调函数
  world:setCallbacks(beginContact, endContact, preSolve, postSolve)

  --创建汽车
  car = {}
  car.body = NewBody(world, 10, 640/2-90/2,"dynamic")  --创建汽车,把它放在x=100,图片中心放在屏幕竖直中心
  car.shape = NewRectangleShape(120, 90)   --创建一个矩形大小为汽车图片的大小
  car.fixture = NewFixture(car.body, car.shape)  --把矩形附加到汽车
  car.fixture:setUserData("car") --设置一些数据，可以通过getUserData取出以在其它地方使用

  --创建一个炸弹
  bomb = {}
  bomb.body = NewBody(world, 500, 640/2-90/2) --创建炸弹,把它放在x=500,图片中心放在屏幕竖直中心
  bomb.shape = NewRectangleShape(24,32) --创建一个矩形大小为炸弹图片的大小
  bomb.fixture = NewFixture(bomb.body, bomb.shape, 1) --把矩形附加到炸弹,密度为1
  bomb.fixture:setRestitution(0.3) --反弹系数,即碰撞反弹后速度为原来的0.3倍
  bomb.fixture:setUserData("bomb")

--加载图片	
imgCar=love.graphics.newImage("car.jpg")
imgBomb=love.graphics.newImage("bomb.jpg")
imgBlowing=love.graphics.newImage("blowing.png")
--用来输出碰撞的信息
text=""
collided=false
end
------------------------------------------

function 逻辑更新(dt)
	world:update(dt)
end

function beginContact(a, b, coll)
	collided=true
end

------------------------------------------

function 画面显示()
  if not collided then
   love.graphics.draw(imgCar,car.body:getX(),car.body:getY())
   love.graphics.draw(imgBomb,bomb.body:getX(),bomb.body:getY())
  else
   --创建爆炸,把图片中心放在炸弹的x坐标，y屏幕竖直中心
	love.graphics.draw(imgBlowing,500-120/2,640/2-120/2)
  end
  --用来确定物理引擎的坐标系统是以左顶点还是中心，发现是坐顶点
   love.graphics.print("bomb",500,640/2-90/2)
end
------------------------------------------

function 键盘按下(key)

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
------------------------------------------