mirror of
https://github.com/MartinKral/Slash-The-Hordes
synced 2024-12-26 11:48:54 +00:00
barbarian anim
This commit is contained in:
parent
e03274d3cb
commit
50c44b7d64
@ -151,7 +151,7 @@
|
|||||||
"projectileLifetime": 8,
|
"projectileLifetime": 8,
|
||||||
"projectileSpeed": 140,
|
"projectileSpeed": 140,
|
||||||
"projectileDamage": 4,
|
"projectileDamage": 4,
|
||||||
"cooldown": 2.5
|
"cooldown": 3.67
|
||||||
},
|
},
|
||||||
"magicOrbLauncher": {
|
"magicOrbLauncher": {
|
||||||
"enemyIds": [],
|
"enemyIds": [],
|
||||||
@ -464,16 +464,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enemyIdToAffect": "SiegeEnemyRanged",
|
"enemyIdToAffect": "SiegeEnemyRanged",
|
||||||
"followTime": 4,
|
"followTime": 3,
|
||||||
"waitTime": 4
|
"waitTime": 0.67
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"individualEnemySpawners": [
|
"individualEnemySpawners": [
|
||||||
{
|
{
|
||||||
"common": {
|
"common": {
|
||||||
"enemyId": "BasicEnemy",
|
"enemyId": "SiegeEnemyRanged",
|
||||||
"startDelay": 0,
|
"startDelay": 0,
|
||||||
"stopDelay": 59,
|
"stopDelay": 2,
|
||||||
"cooldown": 1
|
"cooldown": 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,174 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.AnimationGraph",
|
|
||||||
"_name": "",
|
|
||||||
"_objFlags": 0,
|
|
||||||
"_native": "",
|
|
||||||
"_layers": [
|
|
||||||
{
|
|
||||||
"__id__": 1
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"_variables": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.Layer",
|
|
||||||
"_stateMachine": {
|
|
||||||
"__id__": 2
|
|
||||||
},
|
|
||||||
"name": "",
|
|
||||||
"weight": 1,
|
|
||||||
"mask": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.StateMachine",
|
|
||||||
"_states": [
|
|
||||||
{
|
|
||||||
"__id__": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 8
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"_transitions": [
|
|
||||||
{
|
|
||||||
"__id__": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__id__": 11
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"_entryState": {
|
|
||||||
"__id__": 3
|
|
||||||
},
|
|
||||||
"_exitState": {
|
|
||||||
"__id__": 4
|
|
||||||
},
|
|
||||||
"_anyState": {
|
|
||||||
"__id__": 5
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.State",
|
|
||||||
"__editorExtras__": {
|
|
||||||
"centerX": -143,
|
|
||||||
"centerY": -22,
|
|
||||||
"id": "16724216539930.48119152753701666"
|
|
||||||
},
|
|
||||||
"name": "Entry"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.State",
|
|
||||||
"name": "Exit"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.State",
|
|
||||||
"__editorExtras__": {
|
|
||||||
"centerX": 126,
|
|
||||||
"centerY": 0,
|
|
||||||
"id": "16724216387450.1472316540497729"
|
|
||||||
},
|
|
||||||
"name": "Any"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.Motion",
|
|
||||||
"__editorExtras__": {
|
|
||||||
"centerX": 14,
|
|
||||||
"centerY": -116.5,
|
|
||||||
"id": "16724216351510.5534679250082009"
|
|
||||||
},
|
|
||||||
"name": "Shoot",
|
|
||||||
"_components": [],
|
|
||||||
"motion": {
|
|
||||||
"__id__": 7
|
|
||||||
},
|
|
||||||
"speed": 1,
|
|
||||||
"speedMultiplier": "",
|
|
||||||
"speedMultiplierEnabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.ClipMotion",
|
|
||||||
"__editorExtras__": {
|
|
||||||
"id": "16724216351480.6384312560331595",
|
|
||||||
"centerX": 0,
|
|
||||||
"centerY": 0,
|
|
||||||
"name": ""
|
|
||||||
},
|
|
||||||
"clip": {
|
|
||||||
"__uuid__": "02f5cb0a-b58e-418e-aa60-45f28f5a4e9f",
|
|
||||||
"__expectedType__": "cc.AnimationClip"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.Motion",
|
|
||||||
"__editorExtras__": {
|
|
||||||
"centerX": 14,
|
|
||||||
"centerY": -31.5,
|
|
||||||
"id": "16724216351510.4468726373332348"
|
|
||||||
},
|
|
||||||
"name": "Move",
|
|
||||||
"_components": [],
|
|
||||||
"motion": {
|
|
||||||
"__id__": 9
|
|
||||||
},
|
|
||||||
"speed": 1,
|
|
||||||
"speedMultiplier": "",
|
|
||||||
"speedMultiplierEnabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.ClipMotion",
|
|
||||||
"__editorExtras__": {
|
|
||||||
"id": "16724216351510.04360222304205896",
|
|
||||||
"centerX": 0,
|
|
||||||
"centerY": 0,
|
|
||||||
"name": ""
|
|
||||||
},
|
|
||||||
"clip": {
|
|
||||||
"__uuid__": "01f039bc-a24c-45e7-a938-336d2111f3dc",
|
|
||||||
"__expectedType__": "cc.AnimationClip"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.AnimationTransition",
|
|
||||||
"from": {
|
|
||||||
"__id__": 8
|
|
||||||
},
|
|
||||||
"to": {
|
|
||||||
"__id__": 6
|
|
||||||
},
|
|
||||||
"conditions": [],
|
|
||||||
"duration": 0.3,
|
|
||||||
"relativeDuration": false,
|
|
||||||
"exitConditionEnabled": true,
|
|
||||||
"destinationStart": 0,
|
|
||||||
"relativeDestinationStart": false,
|
|
||||||
"interruptionSource": 0,
|
|
||||||
"_exitCondition": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.animation.AnimationTransition",
|
|
||||||
"from": {
|
|
||||||
"__id__": 6
|
|
||||||
},
|
|
||||||
"to": {
|
|
||||||
"__id__": 8
|
|
||||||
},
|
|
||||||
"conditions": [],
|
|
||||||
"duration": 0.3,
|
|
||||||
"relativeDuration": false,
|
|
||||||
"exitConditionEnabled": true,
|
|
||||||
"destinationStart": 0,
|
|
||||||
"relativeDestinationStart": false,
|
|
||||||
"interruptionSource": 0,
|
|
||||||
"_exitCondition": 1
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"ver": "1.1.0",
|
|
||||||
"importer": "animation-graph",
|
|
||||||
"imported": true,
|
|
||||||
"uuid": "10c1208e-fa86-4f5b-851b-7fb7c52ebcf1",
|
|
||||||
"files": [
|
|
||||||
".json"
|
|
||||||
],
|
|
||||||
"subMetas": {},
|
|
||||||
"userData": {}
|
|
||||||
}
|
|
@ -8,6 +8,6 @@
|
|||||||
],
|
],
|
||||||
"subMetas": {},
|
"subMetas": {},
|
||||||
"userData": {
|
"userData": {
|
||||||
"name": "Shoot"
|
"name": "Idle"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1 +0,0 @@
|
|||||||
{"ver":"2.0.3","importer":"animation-clip","imported":true,"uuid":"01f039bc-a24c-45e7-a938-336d2111f3dc","files":[".cconb"],"subMetas":{},"userData":{"name":"Move"}}
|
|
13
assets/Media/Animation/Game/Enemies/Barbarian/Run.anim.meta
Normal file
13
assets/Media/Animation/Game/Enemies/Barbarian/Run.anim.meta
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "2.0.3",
|
||||||
|
"importer": "animation-clip",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "01f039bc-a24c-45e7-a938-336d2111f3dc",
|
||||||
|
"files": [
|
||||||
|
".cconb"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"name": "Run"
|
||||||
|
}
|
||||||
|
}
|
@ -257,37 +257,6 @@
|
|||||||
"__type__": "cc.CompPrefabInfo",
|
"__type__": "cc.CompPrefabInfo",
|
||||||
"fileId": "5dR8969SVAfLXx5AY1X9B5"
|
"fileId": "5dR8969SVAfLXx5AY1X9B5"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"__type__": "7f8b6NKHsNNW5nLY3fwejhw",
|
|
||||||
"_name": "",
|
|
||||||
"_objFlags": 0,
|
|
||||||
"node": {
|
|
||||||
"__id__": 1
|
|
||||||
},
|
|
||||||
"_enabled": true,
|
|
||||||
"__prefab": {
|
|
||||||
"__id__": 13
|
|
||||||
},
|
|
||||||
"collider": {
|
|
||||||
"__id__": 10
|
|
||||||
},
|
|
||||||
"sprite": {
|
|
||||||
"__id__": 5
|
|
||||||
},
|
|
||||||
"defaultMaterial": {
|
|
||||||
"__uuid__": "fda095cb-831d-4601-ad94-846013963de8",
|
|
||||||
"__expectedType__": "cc.Material"
|
|
||||||
},
|
|
||||||
"whiteMaterial": {
|
|
||||||
"__uuid__": "9cb17675-370b-48ed-bfa2-bb613a88af44",
|
|
||||||
"__expectedType__": "cc.Material"
|
|
||||||
},
|
|
||||||
"_id": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__type__": "cc.CompPrefabInfo",
|
|
||||||
"fileId": "b5ONKVkchBpaoqReE981lo"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"__type__": "cc.Animation",
|
"__type__": "cc.Animation",
|
||||||
"_name": "",
|
"_name": "",
|
||||||
@ -297,7 +266,7 @@
|
|||||||
},
|
},
|
||||||
"_enabled": true,
|
"_enabled": true,
|
||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 15
|
"__id__": 13
|
||||||
},
|
},
|
||||||
"playOnLoad": true,
|
"playOnLoad": true,
|
||||||
"_clips": [
|
"_clips": [
|
||||||
@ -320,6 +289,40 @@
|
|||||||
"__type__": "cc.CompPrefabInfo",
|
"__type__": "cc.CompPrefabInfo",
|
||||||
"fileId": "74x/uTmM5C8J/ZyOW71lz5"
|
"fileId": "74x/uTmM5C8J/ZyOW71lz5"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"__type__": "2fbd7DLmiNFybvIJxxrW6Iu",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 15
|
||||||
|
},
|
||||||
|
"collider": {
|
||||||
|
"__id__": 10
|
||||||
|
},
|
||||||
|
"sprite": {
|
||||||
|
"__id__": 5
|
||||||
|
},
|
||||||
|
"defaultMaterial": {
|
||||||
|
"__uuid__": "fda095cb-831d-4601-ad94-846013963de8",
|
||||||
|
"__expectedType__": "cc.Material"
|
||||||
|
},
|
||||||
|
"whiteMaterial": {
|
||||||
|
"__uuid__": "9cb17675-370b-48ed-bfa2-bb613a88af44",
|
||||||
|
"__expectedType__": "cc.Material"
|
||||||
|
},
|
||||||
|
"animation": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "23A8mHvnBHz7LyWYrq9p/n"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"__type__": "cc.PrefabInfo",
|
"__type__": "cc.PrefabInfo",
|
||||||
"root": {
|
"root": {
|
||||||
|
36
assets/Scripts/Game/Unit/Enemy/AnimatedEnemy.ts
Normal file
36
assets/Scripts/Game/Unit/Enemy/AnimatedEnemy.ts
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import { Animation, Vec3, _decorator } from "cc";
|
||||||
|
import { Enemy } from "./Enemy";
|
||||||
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
|
@ccclass("AnimatedEnemy")
|
||||||
|
export class AnimatedEnemy extends Enemy {
|
||||||
|
@property(Animation) private animation: Animation;
|
||||||
|
|
||||||
|
private isAnimatingIdle = false;
|
||||||
|
|
||||||
|
public gameTick(move: Vec3, deltaTime: number): void {
|
||||||
|
super.gameTick(move, deltaTime);
|
||||||
|
|
||||||
|
console.log("Move x: " + move.x + " Move y: " + move.y);
|
||||||
|
|
||||||
|
if (move.x === 0 && move.y === 0) {
|
||||||
|
this.animateIdle();
|
||||||
|
} else {
|
||||||
|
this.animateRun();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private animateIdle(): void {
|
||||||
|
if (this.isAnimatingIdle) return;
|
||||||
|
this.isAnimatingIdle = true;
|
||||||
|
|
||||||
|
this.animation.play("Idle");
|
||||||
|
}
|
||||||
|
|
||||||
|
private animateRun(): void {
|
||||||
|
if (!this.isAnimatingIdle) return;
|
||||||
|
this.isAnimatingIdle = false;
|
||||||
|
|
||||||
|
this.animation.play("Run");
|
||||||
|
}
|
||||||
|
}
|
9
assets/Scripts/Game/Unit/Enemy/AnimatedEnemy.ts.meta
Normal file
9
assets/Scripts/Game/Unit/Enemy/AnimatedEnemy.ts.meta
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ver": "4.0.23",
|
||||||
|
"importer": "typescript",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "2fbd70cb-9a23-45c9-bbc8-271c6b5ba22e",
|
||||||
|
"files": [],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
@ -118,7 +118,7 @@ export class Enemy extends Component {
|
|||||||
|
|
||||||
if (move.x < 0) {
|
if (move.x < 0) {
|
||||||
this.sprite.node.setScale(-1, 1, 1);
|
this.sprite.node.setScale(-1, 1, 1);
|
||||||
} else {
|
} else if (0 < move.x) {
|
||||||
this.sprite.node.setScale(1, 1, 1);
|
this.sprite.node.setScale(1, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,12 +26,13 @@ export class PeriodicFollowTargetEnemyMover extends EnemyMover {
|
|||||||
this.switchEnemyFollowState(enemy);
|
this.switchEnemyFollowState(enemy);
|
||||||
} else {
|
} else {
|
||||||
this.enemyToStateTimeLeft.set(enemy, stateTimeLeft);
|
this.enemyToStateTimeLeft.set(enemy, stateTimeLeft);
|
||||||
|
}
|
||||||
if (this.enemyToFollowState.get(enemy) === EnemyFollowState.Follow) {
|
if (this.enemyToFollowState.get(enemy) === EnemyFollowState.Follow) {
|
||||||
let direction: Vec3 = new Vec3();
|
let direction: Vec3 = new Vec3();
|
||||||
direction = Vec3.subtract(direction, this.targetNode.worldPosition, enemy.node.worldPosition);
|
direction = Vec3.subtract(direction, this.targetNode.worldPosition, enemy.node.worldPosition);
|
||||||
enemy.gameTick(direction.normalize(), deltaTime);
|
enemy.gameTick(direction.normalize(), deltaTime);
|
||||||
}
|
} else if (this.enemyToFollowState.get(enemy) === EnemyFollowState.Wait) {
|
||||||
|
enemy.gameTick(new Vec3(), deltaTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user