Impact animations
This commit is contained in:
@@ -24,6 +24,7 @@ export class ProjectileTileFactory extends TileFactory {
|
|||||||
total_distance = h1_distance + h2_distance;
|
total_distance = h1_distance + h2_distance;
|
||||||
vertex_offset = h1_distance / total_distance;
|
vertex_offset = h1_distance / total_distance;
|
||||||
}
|
}
|
||||||
|
this.duration = total_distance / speed * 100;
|
||||||
copy.add_animation('launch-x', [
|
copy.add_animation('launch-x', [
|
||||||
{
|
{
|
||||||
'offset': 0.0,
|
'offset': 0.0,
|
||||||
@@ -37,7 +38,7 @@ export class ProjectileTileFactory extends TileFactory {
|
|||||||
'transform': `rotate(${Math.sign(target_relative_x) * total_distance * spin * 10}deg)`,
|
'transform': `rotate(${Math.sign(target_relative_x) * total_distance * spin * 10}deg)`,
|
||||||
},
|
},
|
||||||
], {
|
], {
|
||||||
'duration': total_distance / speed * 100,
|
'duration': this.duration,
|
||||||
'iterations': 1,
|
'iterations': 1,
|
||||||
});
|
});
|
||||||
copy.add_animation('launch-y', [
|
copy.add_animation('launch-y', [
|
||||||
@@ -56,7 +57,7 @@ export class ProjectileTileFactory extends TileFactory {
|
|||||||
'top': `${target_relative_y / tile_factory.height * 100}%`,
|
'top': `${target_relative_y / tile_factory.height * 100}%`,
|
||||||
},
|
},
|
||||||
], {
|
], {
|
||||||
'duration': total_distance / speed * 100,
|
'duration': this.duration,
|
||||||
'iterations': 1,
|
'iterations': 1,
|
||||||
});
|
});
|
||||||
this.tile_factory = new LayeredTileFactory([copy]);
|
this.tile_factory = new LayeredTileFactory([copy]);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"projectile_tile_factory.js","sourceRoot":"","sources":["../ts/projectile_tile_factory.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"projectile_tile_factory.js","sourceRoot":"","sources":["../ts/projectile_tile_factory.ts"],"names":[],"mappings":"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"}
|
||||||
18
js/tiles.js
18
js/tiles.js
@@ -58,13 +58,13 @@ export const TOWER_FIREBALL1 = new LayeredTileFactory([
|
|||||||
]);
|
]);
|
||||||
export const FIREBALL = new SimpleTileFactory('projectile', 2, 2, 'fireball');
|
export const FIREBALL = new SimpleTileFactory('projectile', 2, 2, 'fireball');
|
||||||
export const FIREBALL_IMPACT = new SequenceTileFactory([
|
export const FIREBALL_IMPACT = new SequenceTileFactory([
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact1'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact1'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact2'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact2'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact3'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact3'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact4'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact4'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact5'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact5'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact6'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact6'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact7'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact7'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact8'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact8'),
|
||||||
], 100, false);
|
], 50, false);
|
||||||
//# sourceMappingURL=tiles.js.map
|
//# sourceMappingURL=tiles.js.map
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"tiles.js","sourceRoot":"","sources":["../ts/tiles.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"tiles.js","sourceRoot":"","sources":["../ts/tiles.ts"],"names":[],"mappings":"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"}
|
||||||
12
js/tower.js
12
js/tower.js
@@ -75,14 +75,20 @@ export function main() {
|
|||||||
grid.add_tile(tiles.BRIDGE_LR, 46, 18);
|
grid.add_tile(tiles.BRIDGE_LR, 46, 18);
|
||||||
grid.add_tile(tiles.BRIDGE_LR, 46, 10);
|
grid.add_tile(tiles.BRIDGE_LR, 46, 10);
|
||||||
function rand(min, max) {
|
function rand(min, max) {
|
||||||
return Math.random() * (max - min) + min;
|
return Math.round(Math.random() * (max - min) + min);
|
||||||
}
|
}
|
||||||
const tower = grid.add_tile(tiles.TOWER_FIREBALL1, 30, 28);
|
const tower = grid.add_tile(tiles.TOWER_FIREBALL1, 30, 28);
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
tower.play('fire');
|
tower.play('fire');
|
||||||
grid.add_tile(new ProjectileTileFactory(tiles.FIREBALL, rand(-20, 20), rand(-10, 20), 5, 1.5, 5), 31, 27);
|
const target_relative_x = rand(-20, 20);
|
||||||
|
const target_relative_y = rand(-10, 20);
|
||||||
|
const factory = new ProjectileTileFactory(tiles.FIREBALL, target_relative_x, target_relative_y, 5, 1.5, 5);
|
||||||
|
grid.add_tile(factory, 31, 27);
|
||||||
|
setTimeout(() => {
|
||||||
|
console.log('impact!', 31 + target_relative_x, 27 + target_relative_y);
|
||||||
|
grid.add_tile(tiles.FIREBALL_IMPACT, 31 + target_relative_x, 27 + target_relative_y);
|
||||||
|
}, factory.duration);
|
||||||
}, 3250);
|
}, 3250);
|
||||||
grid.add_tile(tiles.FIREBALL_IMPACT, 15, 15);
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
main();
|
main();
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -14,6 +14,7 @@ export class ProjectileTileFactory extends TileFactory {
|
|||||||
spin: number;
|
spin: number;
|
||||||
speed: number;
|
speed: number;
|
||||||
loft: number;
|
loft: number;
|
||||||
|
duration: number;
|
||||||
|
|
||||||
tile_factory: TileFactory;
|
tile_factory: TileFactory;
|
||||||
|
|
||||||
@@ -41,6 +42,8 @@ export class ProjectileTileFactory extends TileFactory {
|
|||||||
vertex_offset = h1_distance / total_distance;
|
vertex_offset = h1_distance / total_distance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.duration = total_distance / speed * 100;
|
||||||
|
|
||||||
copy.add_animation(
|
copy.add_animation(
|
||||||
'launch-x',
|
'launch-x',
|
||||||
[
|
[
|
||||||
@@ -57,7 +60,7 @@ export class ProjectileTileFactory extends TileFactory {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
'duration': total_distance / speed * 100,
|
'duration': this.duration,
|
||||||
'iterations': 1,
|
'iterations': 1,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@@ -81,7 +84,7 @@ export class ProjectileTileFactory extends TileFactory {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
'duration': total_distance / speed * 100,
|
'duration': this.duration,
|
||||||
'iterations': 1,
|
'iterations': 1,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
18
ts/tiles.ts
18
ts/tiles.ts
@@ -78,12 +78,12 @@ export const TOWER_FIREBALL1 = new LayeredTileFactory([
|
|||||||
export const FIREBALL = new SimpleTileFactory('projectile', 2, 2, 'fireball');
|
export const FIREBALL = new SimpleTileFactory('projectile', 2, 2, 'fireball');
|
||||||
|
|
||||||
export const FIREBALL_IMPACT = new SequenceTileFactory([
|
export const FIREBALL_IMPACT = new SequenceTileFactory([
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact1'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact1'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact2'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact2'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact3'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact3'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact4'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact4'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact5'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact5'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact6'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact6'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact7'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact7'),
|
||||||
new SimpleTileFactory('surface', 4, 4, 'fireball-impact8'),
|
new SimpleTileFactory('surface', 2, 2, 'fireball-impact8'),
|
||||||
], 100, false);
|
], 50, false);
|
||||||
|
|||||||
13
ts/tower.ts
13
ts/tower.ts
@@ -83,16 +83,21 @@ export function main() {
|
|||||||
grid.add_tile(tiles.BRIDGE_LR, 46, 10);
|
grid.add_tile(tiles.BRIDGE_LR, 46, 10);
|
||||||
|
|
||||||
function rand(min: number, max: number): number {
|
function rand(min: number, max: number): number {
|
||||||
return Math.random() * (max - min) + min;
|
return Math.round(Math.random() * (max - min) + min);
|
||||||
}
|
}
|
||||||
|
|
||||||
const tower = grid.add_tile(tiles.TOWER_FIREBALL1, 30, 28);
|
const tower = grid.add_tile(tiles.TOWER_FIREBALL1, 30, 28);
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
tower.play('fire');
|
tower.play('fire');
|
||||||
grid.add_tile(new ProjectileTileFactory(tiles.FIREBALL, rand(-20, 20), rand(-10, 20), 5, 1.5, 5), 31, 27);
|
const target_relative_x = rand(-20, 20);
|
||||||
|
const target_relative_y = rand(-10, 20);
|
||||||
|
const factory = new ProjectileTileFactory(tiles.FIREBALL, target_relative_x, target_relative_y, 5, 1.5, 5);
|
||||||
|
grid.add_tile(factory, 31, 27);
|
||||||
|
setTimeout(() => {
|
||||||
|
console.log('impact!', 31 + target_relative_x, 27 + target_relative_y);
|
||||||
|
grid.add_tile(tiles.FIREBALL_IMPACT, 31 + target_relative_x, 27 + target_relative_y);
|
||||||
|
}, factory.duration);
|
||||||
}, 3250);
|
}, 3250);
|
||||||
|
|
||||||
grid.add_tile(tiles.FIREBALL_IMPACT, 15, 15);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|||||||
Reference in New Issue
Block a user