add vehicle test
This commit is contained in:
@@ -194,6 +194,7 @@ function main() {
|
||||
setup(currentLevel.levelData) // ! Was brauche ich hier, damit das variabel alle Level laden kann?
|
||||
|
||||
//console.log('log monsters ', monsters)
|
||||
console.log('log updateVehicle ', vehicles)
|
||||
|
||||
frame()
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ function render(ctx, frame, dt, thiscurrentLevel) {
|
||||
renderMonsters(ctx, enemyAtlas, dt, frame)
|
||||
renderTreasure(ctx, itemsAtlas, dt, frame)
|
||||
renderPickups(ctx, itemsAtlas, dt, frame)
|
||||
renderVehicless(ctx, enemyAtlas, dt, frame)
|
||||
renderForeground(ctx, thiscurrentLevel.foregroundAtlas, fgCells)
|
||||
renderLiquids(ctx, thiscurrentLevel.foregroundAtlas, fgCells)
|
||||
|
||||
@@ -202,6 +203,25 @@ function renderPlayer(ctx, spriteAtlas, dt, frame) {
|
||||
ctx.globalAlpha = 1
|
||||
}
|
||||
|
||||
function renderVehicless(ctx, spriteAtlas, dt, frame) {
|
||||
ctx.fillStyle = COLOR.BRICK
|
||||
var n, max, vehicle
|
||||
for (n = 0, max = vehicles.length; n < max; n++) {
|
||||
vehicle = vehicles[n]
|
||||
|
||||
if (vehicle.sprites === undefined && !vehicle.dead)
|
||||
ctx.fillRect(
|
||||
vehicle.x + vehicle.dx * dt,
|
||||
vehicle.y + vehicle.dy * dt,
|
||||
32,
|
||||
32
|
||||
)
|
||||
if (vehicle.sprites !== undefined && !vehicle.dead) {
|
||||
//drawSprite(vehicle, spriteAtlas, dt, frame)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function renderHud(ctx, spriteAtlas, dt, frame) {
|
||||
var n, max
|
||||
const hudScaling = scalingFactor / 2
|
||||
|
||||
@@ -38,6 +38,11 @@ function setup(map) {
|
||||
case 'player':
|
||||
player = entity
|
||||
break
|
||||
|
||||
case 'vehicle':
|
||||
vehicles.push(entity)
|
||||
break
|
||||
|
||||
case 'monster':
|
||||
monsters.push(entity)
|
||||
break
|
||||
@@ -91,6 +96,8 @@ function setupEntity(obj, entityType, entityProperties, entityName) {
|
||||
? health
|
||||
: entityName == 'extralife'
|
||||
? extralife
|
||||
: entityName == 'vehicle'
|
||||
? vehicle
|
||||
: entityName == 'door'
|
||||
? null
|
||||
: null
|
||||
@@ -123,6 +130,7 @@ function setupEntity(obj, entityType, entityProperties, entityName) {
|
||||
entity.monster = entityType == 'monster'
|
||||
entity.slimeMonster = entityType == 'slimeMonster'
|
||||
entity.player = entityType == 'player'
|
||||
entity.vehicle = entityType == 'vehicle'
|
||||
entity.treasure = entityType == 'treasure'
|
||||
entity.ammo = entityType == 'ammo'
|
||||
entity.health = entityType == 'health'
|
||||
|
||||
@@ -6,6 +6,7 @@ function update(dt) {
|
||||
updatePlayer(dt)
|
||||
updateBullets(dt)
|
||||
updateMonsters(dt)
|
||||
updateVehicles(dt)
|
||||
checkTreasure()
|
||||
checkPickups()
|
||||
checkLiquids()
|
||||
@@ -20,6 +21,23 @@ function updatePlayer(dt) {
|
||||
updateEntity(player, dt)
|
||||
}
|
||||
|
||||
function updateVehicles(dt) {
|
||||
var n, max
|
||||
for (n = 0, max = vehicles.length; n < max; n++)
|
||||
updateVehicle(vehicles[n], dt)
|
||||
}
|
||||
|
||||
function updateVehicle(vehicle, dt) {
|
||||
updateEntity(vehicle, dt)
|
||||
if (
|
||||
overlap(player.x, player.y, TILE, TILE, vehicle.x, vehicle.y, TILE, TILE)
|
||||
) {
|
||||
if (player.dy > 0 && vehicle.y - player.y > TILE / 2)
|
||||
// ! Wie mache ich hier den collision check? Achtung, die height und width des Vehicles ist immer noch 16x16
|
||||
console.log('log collision vehicle!')
|
||||
}
|
||||
}
|
||||
|
||||
function updateMonsters(dt) {
|
||||
var n, max
|
||||
for (n = 0, max = monsters.length; n < max; n++)
|
||||
@@ -28,6 +46,7 @@ function updateMonsters(dt) {
|
||||
|
||||
function updateMonster(monster, dt) {
|
||||
// monster.slimeMonster && console.log('log monster ', monster)
|
||||
|
||||
if (!monster.dead) {
|
||||
updateEntity(monster, dt)
|
||||
if (
|
||||
@@ -332,6 +351,8 @@ function collectTreasure(t) {
|
||||
}
|
||||
|
||||
function updateEntity(entity, dt) {
|
||||
entity.vehicle && console.log('log entity ', entity)
|
||||
|
||||
var wasleft = entity.dx < 0,
|
||||
wasright = entity.dx > 0,
|
||||
falling = entity.falling,
|
||||
|
||||
@@ -230,6 +230,7 @@ let fps = 60,
|
||||
monsters = [],
|
||||
pickups = [],
|
||||
treasure = [],
|
||||
vehicles = [],
|
||||
doors = [], // ! Hier sammel ich alle Door Objekte.
|
||||
liquids = [], // ! Alle Bereich, die mit Wasser gefüllt sind.
|
||||
bullets = [],
|
||||
@@ -334,6 +335,19 @@ let theme = {
|
||||
level1: new music('./audio/music/8BitCave.wav', musicVolume),
|
||||
}
|
||||
|
||||
let submarine = {
|
||||
collected: 0,
|
||||
killed: 0,
|
||||
maxHitpoints: 5,
|
||||
currentHitpoints: 3,
|
||||
vul: true,
|
||||
hurt: false,
|
||||
interact: false,
|
||||
shooting: false,
|
||||
swimming: false,
|
||||
diving: false,
|
||||
}
|
||||
|
||||
let globalPlayer = {
|
||||
collected: 0,
|
||||
killed: 0,
|
||||
|
||||
Reference in New Issue
Block a user