Commit ac35d6d6 authored by czy's avatar czy

修复旋风腿动画

parent 01127474
...@@ -158,6 +158,8 @@ public class BattleUI : MonoBehaviour ...@@ -158,6 +158,8 @@ public class BattleUI : MonoBehaviour
public void NextLevelBtnDown() public void NextLevelBtnDown()
{ {
print("点击NextButton:"+ BattleCtrl.instance.Score+" "+BattleCtrl.instance.targetScore); print("点击NextButton:"+ BattleCtrl.instance.Score+" "+BattleCtrl.instance.targetScore);
SceneManager.LoadScene("Level 1");
BattleCtrl.instance.Score = BattleCtrl.instance.targetScore; BattleCtrl.instance.Score = BattleCtrl.instance.targetScore;
BattleCtrl.instance.updateScore?.Invoke(); BattleCtrl.instance.updateScore?.Invoke();
print(""+ BattleCtrl.instance.Score); print(""+ BattleCtrl.instance.Score);
......
This diff is collapsed.
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: RiseBridge
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0, y: -50, z: 120}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 1
value: {x: 0, y: 0, z: 120}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path:
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 1
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path:
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -50
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path:
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 120
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 120
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path:
classID: 4
script: {fileID: 0}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 1
m_HasMotionFloatCurves: 0
m_Events: []
fileFormatVersion: 2
guid: 7cf674c72d7187440890cbc414e0b875
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
...@@ -37,13 +37,16 @@ public class AIMove : MonoBehaviour ...@@ -37,13 +37,16 @@ public class AIMove : MonoBehaviour
private GameObject targetObj; private GameObject targetObj;
private int RandomFoodNumberToPush = 1; private int RandomFoodNumberToPush = 1;
private int HaveFoodNumber = 0; private int HaveFoodNumber = 0;
[Header("寻路点")]
public GameObject EndPointPos;
public enum AIState public enum AIState
{ {
FindFood=0, //找食物 FindFood=0, //找食物
GoToPathPos0=1, //去pos0 GoToPathPos0=1, //去pos0
Push=2, //推墙 Push=2, //推墙
TurnBackToPathPos0=3, //返回Pos0 TurnBackToPathPos0=3, //返回Pos0
PlayBoss=4 PlayBoss=4,
GoToEndPoint=5
} }
public AIState aiState; public AIState aiState;
private float vertigoTime = 0.0f; private float vertigoTime = 0.0f;
...@@ -271,6 +274,9 @@ public class AIMove : MonoBehaviour ...@@ -271,6 +274,9 @@ public class AIMove : MonoBehaviour
break;
case AIState.GoToEndPoint:
targetObj = EndPointPos;
break; break;
default: default:
Debug.LogError(aiState); Debug.LogError(aiState);
...@@ -285,7 +291,30 @@ public class AIMove : MonoBehaviour ...@@ -285,7 +291,30 @@ public class AIMove : MonoBehaviour
if (targetObj != null) //targetObj==null 可能是没有食物。 if (targetObj != null) //targetObj==null 可能是没有食物。
{ {
speed = (targetObj.transform.position - transform.position).normalized * VSpeed; speed = (targetObj.transform.position - transform.position).normalized * VSpeed;
//switch (targetObj.tag)
//{
// case "Food":
// speed = (targetObj.transform.position - transform.position).normalized * VSpeed;
// break;
// case "Boss":
// Vector3 dic = (targetObj.transform.position - transform.position);
// dic = new Vector3(dic.x, 0, dic.z);
// if (dic.sqrMagnitude >= 2.2f * 2.2f) //ai距离Boss 距离的平方为2.2*2.2 时移动,否则就要一个方向,低移动速度。
// {
// speed = (targetObj.transform.position - transform.position).normalized * VSpeed;
// }
// else
// {
// speed = (targetObj.transform.position - transform.position).normalized * 0.1f;
// }
// break;
// default:
// speed = (targetObj.transform.position - transform.position).normalized * VSpeed;
// break;
//}
} }
xDelta = speed.x * Time.deltaTime; xDelta = speed.x * Time.deltaTime;
zDelta = speed.z * Time.deltaTime; zDelta = speed.z * Time.deltaTime;
...@@ -319,7 +348,9 @@ public class AIMove : MonoBehaviour ...@@ -319,7 +348,9 @@ public class AIMove : MonoBehaviour
} }
if (GameObject.FindGameObjectWithTag("Boss") == null) if (GameObject.FindGameObjectWithTag("Boss") == null)
{ {
//boss死亡,更新动画Punch,去终点。
animationManager.ResetPunch(); animationManager.ResetPunch();
aiState = AIState.GoToEndPoint;
} }
...@@ -336,7 +367,7 @@ public class AIMove : MonoBehaviour ...@@ -336,7 +367,7 @@ public class AIMove : MonoBehaviour
angle = -Mathf.Abs(angle); angle = -Mathf.Abs(angle);
} }
transform.localEulerAngles = new Vector3(0, angle, 0); transform.localEulerAngles = new Vector3(0, angle, 0);
//print("AI开始移动:"+ new Vector3(xDelta, yDelta, zDelta)); //print(targetObj+"AI开始移动:"+ new Vector3(xDelta, yDelta, zDelta));
characterController.Move(new Vector3(xDelta, yDelta, zDelta));//移动 characterController.Move(new Vector3(xDelta, yDelta, zDelta));//移动
//移动 //移动
......
...@@ -60,7 +60,7 @@ public class BossAttack : MonoBehaviour ...@@ -60,7 +60,7 @@ public class BossAttack : MonoBehaviour
public void ChangeAttackType(int i) public void ChangeAttackType(int i)
{ {
attackType = (AttackType)i; attackType = (AttackType)i;
print("改变boss攻击状态为:"+attackType); //print("改变boss攻击状态为:"+attackType);
} }
......
...@@ -163,18 +163,19 @@ public class BossMove : MonoBehaviour ...@@ -163,18 +163,19 @@ public class BossMove : MonoBehaviour
if (Vector3.Distance(pos1, pos2) < 10f) if (Vector3.Distance(pos1, pos2) < 10f)
{ {
isAttacking = true; isAttacking = true;
//print("boss附近敌人个数:"+ EnemyNumber+"技能是否不能使用:"+ isDeltaTime);
if (EnemyNumber >= 2&& !isDeltaTime) if (EnemyNumber >= 2&& !isDeltaTime)
{ {
Timer1 -= Time.deltaTime; Timer1 -= Time.deltaTime;
if (Timer1 <= 0) isDeltaTime = true; //旋转5秒等待5秒 if (Timer1 <= 0) isDeltaTime = true; //旋转5秒等待5秒
print("11111111111111"); //print("11111111111111");
animator.SetBool("HurricaneKick", true); animator.SetBool("HurricaneKick", true);
animator.SetBool("LegSweep", false); animator.SetBool("LegSweep", false);
bossAttack.attackType = AttackType.HurricaneKick; bossAttack.attackType = AttackType.HurricaneKick;
} }
else else
{ {
print("2222222222222"); //print("2222222222222");
animator.SetBool("HurricaneKick", false); animator.SetBool("HurricaneKick", false);
animator.SetBool("LegSweep", true); animator.SetBool("LegSweep", true);
bossAttack.attackType = AttackType.LegSweep; bossAttack.attackType = AttackType.LegSweep;
...@@ -188,6 +189,7 @@ public class BossMove : MonoBehaviour ...@@ -188,6 +189,7 @@ public class BossMove : MonoBehaviour
animator.SetBool("HurricaneKick", false); animator.SetBool("HurricaneKick", false);
//bossAttack.attackType = AttackType.Null; //bossAttack.attackType = AttackType.Null;
} }
} }
else else
{ {
...@@ -214,10 +216,13 @@ public class BossMove : MonoBehaviour ...@@ -214,10 +216,13 @@ public class BossMove : MonoBehaviour
{ {
xDelta = 0; xDelta = 0;
zDelta = 0; zDelta = 0;
//yDelta = 0;
} }
print("isAttacking:" + isAttacking+"AI开始移动:" + new Vector3(xDelta, yDelta, zDelta)); //print("isAttacking:" + isAttacking+"Boss开始移动:" + new Vector3(xDelta, yDelta, zDelta));
characterController.Move(new Vector3(xDelta, yDelta, zDelta));//移动 characterController.Move(new Vector3(xDelta, yDelta, zDelta));//移动
//移动 //移动
MoveSpeed = Vector3.Distance(Vector3.zero, characterController.velocity); MoveSpeed = Vector3.Distance(Vector3.zero, characterController.velocity);
//是否在地面 //是否在地面
......
...@@ -18,22 +18,24 @@ public class EndPoint : MonoBehaviour ...@@ -18,22 +18,24 @@ public class EndPoint : MonoBehaviour
} }
private void OnTriggerEnter(Collider other) private void OnTriggerEnter(Collider other)
{ {
if (!BattleCtrl.instance.isStartBattle|| BattleCtrl.instance.isEndBattle|| BattleCtrl.instance.IsScoreSettlementStatus) if (!BattleCtrl.instance.isStartBattle|| BattleCtrl.instance.isEndBattle)
{ {
//游戏未开始||游戏已经结束||游戏出于分数结算状态 //游戏未开始||游戏已经结束
return; return;
} }
if (other.tag == "Player") if (other.tag == "Player")
{ {
//游戏胜利 //游戏胜利
//BattleCtrl.instance.OnBattleWin(); print("Player先到终点");
BattleCtrl.instance.EnterScoreSettlementStatus("Win"); BattleCtrl.instance.OnBattleWin();
//BattleCtrl.instance.EnterScoreSettlementStatus("Win");
} }
else if (other.tag == "Competitor") else if (other.tag == "Competitor")
{ {
//游戏失败 //游戏失败
//BattleCtrl.instance.OnBattleFail(); print("Competitor先到终点");
BattleCtrl.instance.EnterScoreSettlementStatus("Fail"); BattleCtrl.instance.OnBattleFail();
//BattleCtrl.instance.EnterScoreSettlementStatus("Fail");
} }
} }
public void gameWin() public void gameWin()
......
...@@ -14,5 +14,6 @@ public class FollowTargetPos : MonoBehaviour ...@@ -14,5 +14,6 @@ public class FollowTargetPos : MonoBehaviour
void Update() void Update()
{ {
transform.position = pos.position; transform.position = pos.position;
transform.rotation = pos.rotation;
} }
} }
fileFormatVersion: 2
guid: e94f1a852b64c7c4eb82c2f73116b0cd
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RiseBridge : MonoBehaviour
{
private Animator animator;
void Start()
{
animator = GetComponentInChildren<Animator>();
}
void Update()
{
}
public void RiseBridgeFun()
{
animator.SetBool("RiseBridge", true);
}
}
fileFormatVersion: 2
guid: 237849218353d4940b3b7d0b69999c8d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -48,6 +48,7 @@ public class PlayerMove : MonoBehaviour ...@@ -48,6 +48,7 @@ public class PlayerMove : MonoBehaviour
public float vertigoTime = 0.0f; public float vertigoTime = 0.0f;
private AnimationManager animationManager; private AnimationManager animationManager;
public RiseBridge riseBridge;
...@@ -311,6 +312,7 @@ public class PlayerMove : MonoBehaviour ...@@ -311,6 +312,7 @@ public class PlayerMove : MonoBehaviour
if (GameObject.FindGameObjectWithTag("Boss")==null) if (GameObject.FindGameObjectWithTag("Boss")==null)
{ {
animationManager.ResetPunch(); animationManager.ResetPunch();
riseBridge.RiseBridgeFun();
} }
} }
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1107 &-73648260654631392
AnimatorStateMachine:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 7153914015572363244}
m_Position: {x: 30, y: 270, z: 0}
- serializedVersion: 1
m_State: {fileID: 1776243220363434420}
m_Position: {x: 30, y: 180, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 1776243220363434420}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: path (3)
serializedVersion: 5
m_AnimatorParameters:
- m_Name: RiseBridge
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -73648260654631392}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1101 &841049231225963392
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: RiseBridge
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 7153914015572363244}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &1776243220363434420
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New State
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 841049231225963392}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &7153914015572363244
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: RiseBridge
m_Speed: 0.3
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 7cf674c72d7187440890cbc414e0b875, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
fileFormatVersion: 2
guid: 41a002c7c23031447b444166781dc845
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 0fd5c96778452a74cb697e10129acb4b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment