|
|
@ -30,6 +30,17 @@ function Player:new(p, x, y, health, image, speed) |
|
|
|
self.originY = self.height / 2 |
|
|
|
self.originY = self.height / 2 |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function Player:shoot(bulletSpeed) |
|
|
|
|
|
|
|
local cos = math.cos |
|
|
|
|
|
|
|
local sin = math.sin --optimisation |
|
|
|
|
|
|
|
local offsetX = cos(self.rotation) * self.width / 2 |
|
|
|
|
|
|
|
local offsetY = sin(self.rotation) * self.height / 2 |
|
|
|
|
|
|
|
local bulletX = self.x + offsetX |
|
|
|
|
|
|
|
local bulletY = self.y + offsetY |
|
|
|
|
|
|
|
local newBullet = Bullet(bulletX, bulletY, self.p, bulletSpeed, self.rotation) |
|
|
|
|
|
|
|
return newBullet |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
function Player:update(dt) |
|
|
|
function Player:update(dt) |
|
|
|
local cos = math.cos |
|
|
|
local cos = math.cos |
|
|
|
local sin = math.sin --optimisation |
|
|
|
local sin = math.sin --optimisation |
|
|
@ -52,11 +63,7 @@ function Player:update(dt) |
|
|
|
|
|
|
|
|
|
|
|
if EnableKeyPress1 == true then |
|
|
|
if EnableKeyPress1 == true then |
|
|
|
if love.keyboard.isDown("space") then |
|
|
|
if love.keyboard.isDown("space") then |
|
|
|
local offsetX = math.cos(self.rotation) * self.width / 2 |
|
|
|
local newBullet = self:shoot(bulletSpeed) |
|
|
|
local offsetY = math.sin(self.rotation) * self.height / 2 |
|
|
|
|
|
|
|
local bulletX = self.x + offsetX |
|
|
|
|
|
|
|
local bulletY = self.y + offsetY |
|
|
|
|
|
|
|
local newBullet = Bullet(bulletX, bulletY, self.p, bulletSpeed, self.rotation) |
|
|
|
|
|
|
|
table.insert(Bullets1, newBullet) |
|
|
|
table.insert(Bullets1, newBullet) |
|
|
|
KeyPressTime1 = KeyDelay1 |
|
|
|
KeyPressTime1 = KeyDelay1 |
|
|
|
EnableKeyPress1 = false |
|
|
|
EnableKeyPress1 = false |
|
|
@ -86,11 +93,7 @@ function Player:update(dt) |
|
|
|
|
|
|
|
|
|
|
|
if EnableKeyPress2 == true then |
|
|
|
if EnableKeyPress2 == true then |
|
|
|
if love.keyboard.isDown("return") then |
|
|
|
if love.keyboard.isDown("return") then |
|
|
|
local offsetX = math.cos(self.rotation) * self.width / 2 |
|
|
|
local newBullet = self:shoot(bulletSpeed) |
|
|
|
local offsetY = math.sin(self.rotation) * self.height / 2 |
|
|
|
|
|
|
|
local bulletX = self.x + offsetX |
|
|
|
|
|
|
|
local bulletY = self.y + offsetY |
|
|
|
|
|
|
|
local newBullet = Bullet(bulletX, bulletY, self.p, bulletSpeed, self.rotation) |
|
|
|
|
|
|
|
table.insert(Bullets2, newBullet) |
|
|
|
table.insert(Bullets2, newBullet) |
|
|
|
KeyPressTime2 = KeyDelay2 |
|
|
|
KeyPressTime2 = KeyDelay2 |
|
|
|
EnableKeyPress2 = false |
|
|
|
EnableKeyPress2 = false |
|
|
|