Plane: added a simple model for a plane
This commit is contained in:
parent
245e9d7625
commit
7cbca121d2
2 changed files with 43 additions and 1 deletions
41
entities/plane.lua
Normal file
41
entities/plane.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
Class = require 'hump.class'
|
||||
require 'entities/physicsentity'
|
||||
|
||||
Plane = Class{
|
||||
__includes = PhysicsEntity,
|
||||
|
||||
img = nil,
|
||||
|
||||
init = function(self, x, y, level)
|
||||
density = 50
|
||||
img =
|
||||
PhysicsEntity.init(self, x, y, level, "dynamic", 0.2)
|
||||
self.xsize = 55
|
||||
self.ysize = 20
|
||||
self.shape = love.physics.newRectangleShape(self.xsize, self.ysize)
|
||||
PhysicsEntity.attachShape(self, density)
|
||||
self.body:setX(self.x + self.xsize / 2)
|
||||
self.body:setY(self.y - self.ysize / 2)
|
||||
self.angle = 0
|
||||
|
||||
self.img = love.graphics.newImage("resources/graphics/box-50x50.png");
|
||||
self.quad = love.graphics.newQuad(0, 0, self.xsize, self.ysize, self.img:getWidth(), self.img:getHeight())
|
||||
end;
|
||||
|
||||
update = function(self)
|
||||
PhysicsEntity.update(self, dt)
|
||||
|
||||
self.x, self.y = self.fixture:getBoundingBox()
|
||||
self.angle = self.body:getAngle()
|
||||
end;
|
||||
|
||||
draw = function(self)
|
||||
PhysicsEntity.draw(self)
|
||||
if self.img ~= nil then
|
||||
love.graphics.draw(self.img, self.quad, self.body:getX(), self.body:getY(), self.angle, 1, 1, self.xsize / 2, self.ysize / 2)
|
||||
else
|
||||
love.graphics.rectangle("fill", self.x, self.y, self.xsize, self.ysize)
|
||||
end
|
||||
end;
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
Class = require 'hump.class'
|
||||
require 'entities/rectangle'
|
||||
require 'entities/plane'
|
||||
require 'settings'
|
||||
|
||||
-- A level manages the level datastructure containing static blocks and level
|
||||
|
@ -17,7 +18,7 @@ Level = Class{
|
|||
|
||||
self.world = love.physics.newWorld(GRAVITY_X, GRAVITY_Y, true)
|
||||
|
||||
Rectangle(100, 100, self, "dynamic", 0.1, 50, 50, 1, love.graphics.newImage("resources/graphics/box-50x50.png"))
|
||||
Plane(100, 100, self)
|
||||
Rectangle(70, 250, self, "static", 0.1, 50, 50, 1, love.graphics.newImage("resources/graphics/box-50x50.png"))
|
||||
end;
|
||||
|
||||
|
|
Loading…
Reference in a new issue