小妖精的完美游戏教室——东方PROJECT,同人,符卡系统
//================================================================
//
// Copyright (C) 东方同人社
// All Rights Reserved
//
// Author:小妖精Balous
//
//Summary:这次是符卡系统,这个系统能完成绝大多数符卡,算是比较通用的了
//
//================================================================
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 符卡,Boss会迅速移动到起始位置,然后进入第一个状态
/// </summary>
public class SpellCard : State<Boss>
{
/// <summary>
/// 符卡,Boss会迅速移动到起始位置,然后进入第一个状态
/// </summary>
/// <param name="_state">进入符卡后第一个状态</param>
/// <param name="_startPlace">进入符卡的起始位置</param>
/// <param name="_spellCardTime">符卡持续时间</param>
/// <param name="_lifeMax">符卡生命值</param>
public SpellCard(State<Boss> _state, Vector2 _startPlace, float _spellCardTime, int _lifeMax)
{
state = _state;
startPlace = _startPlace;
spellCardTime = _spellCardTime;
lifeMax = _lifeMax;
}
private Vector2 startPlace;
private float spellCardTime;
private int lifeMax;
private State<Boss> state;
private static float moveSpeed = 9.6f;
public override void Enter(Boss owner)
{
owner.lifeMax = lifeMax;
owner.life = lifeMax;
owner.invincible = true;
}
public override void Execute(Boss owner)
{
float distance = Vector2.Distance(new Vector2(owner.transform.position.x, owner.transform.position.y), startPlace);
if (distance < 0.03f)
{
owner.stateMachine.currentState = state;
return;
}
Vector2 direction = new Vector2(startPlace.x - owner.transform.position.x, startPlace.y - owner.transform.position.y).normalized;
owner.transform.Translate(new Vector3(direction.x, direction.y) * Time.deltaTime * moveSpeed);
}
public override void Exit(Boss owner)
{
owner.spellCardTime = spellCardTime;
owner.invincible = false;
}
}
小妖精的完美游戏教室——东方PROJECT,同人,符卡系统的更多相关文章
- 小妖精的完美游戏教室——东方project,同人,自机
//================================================================ //// Copyright (C)// All Rights R ...
- 小妖精的完美游戏教室——东方PROJECT,同人,墙
//================================================================//// Copyright (C) 东方同人社// All Rig ...
- 小妖精的完美游戏教室——东方PROJECT,同人,th12灵梦A
╮(╯▽╰)╭没办法,小妖精Balous也很讨厌学院化的教育呀,一点意义都没有. 这次就上传东方地灵殿灵梦A逻辑部分的核心代码吧,估计连老师都看不懂.动画部分的代码就不放上来了. //======== ...
- 小妖精的完美游戏教室——东方PROJECT,同人,子机
//================================================================//// Copyright (C)// All Rights Re ...
- 小妖精的完美游戏教室——人工智能,A*算法,引言
今天也要直播魔法,求科学的! 欢迎来到小妖精Balous的完美游戏教室! 经过前两周的学习,相信米娜桑已经对状态机有所了解了呢~虽然状态机能够实现几乎所有的人工智能,但是,在实践中,你们有没有发现,自 ...
- 小妖精的完美游戏教室——人工智能,A*算法,启发因子篇
//================================================================//// Copyright (C) 2017 Team Saluk ...
- 小妖精的完美游戏教室——人工智能,A*算法,导航网络篇
//================================================================//// Copyright (C) 2017 Team Saluk ...
- 小妖精的完美游戏教室——人工智能,A*算法,结点篇
//================================================================//// Copyright (C) 2017 Team Saluk ...
- 小妖精的完美游戏教室——人工智能,A*算法,实现篇
//================================================================//// Copyright (C) 2017 Team Saluk ...
随机推荐
- [数]补题ver.
上次补题好像把两次训练混在一起了,总之先按时间顺序补完这一次|ू・ω・` ) HDU-6301 不会的东西不能逃避.jpg 红小豆非常讨厌构造题,因为非常不会,并且非常逃避学习这类题,因为总也搞不清楚 ...
- tensorflow estimator API小栗子
TensorFlow的高级机器学习API(tf.estimator)可以轻松配置,训练和评估各种机器学习模型. 在本教程中,您将使用tf.estimator构建一个神经网络分类器,并在Iris数据集上 ...
- Java实训:实训一 ——长春职业技术学院 16级网络工程
Java实训:实训一 本文会解释一些设计思路. 想看具体过程,请转:https://www.cnblogs.com/lxwlxw/p/10114187.html 笑维的码云项目命名不太对,所以我来:h ...
- Tensorflow实战系列之三:
博主也是初学,能力有限,这个完全没想好..
- ecplise中设置字体大小和背景
1 将ecplise中的代码背景设置为豆沙色 2 设置ecplise中的字体大小
- ionic2APP 如何处理返回键问题
1.APP中难免会有自定义各种modal.alert,modal或alert处于激活状态时android用户按物理返回键,页面被返回,而这些弹窗切没有被返回,一种解决办法是可以在每个组件内用生命周期钩 ...
- Oracle学习笔记之触发器
触发器 触发器(trigger)是一些过程,与表关系密切,用于保护表中的数据,当一个基表被修改(INSERT.UPDATE或DELETE)时,触发器自动执行,例如通过触发器可实现多个表间数据的一致性和 ...
- ConcurrentHashMap源码
---------------------------------------------------------------------------------------------------- ...
- python中的lambda表达式
lambda是python中匿名函数的写法 我们可以在不定义函数名的情况下一边定义并调用这个函数 例子: 普通方法定义函数:def plus(a,b): return a+b lambda方法 ...
- JavaScript 之默认行为 DOM2级,事件委托机制
1. 事件默认行为及阻止方式 1.1 浏览器的默认行为 JavaScript事件本身所具有的属性,例如a标签的跳转,Submit按钮的提交,右键菜单,文本框的输入等. 1.2 ...