小妖精的完美游戏教室——东方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 ...
随机推荐
- WPF listbox实现多列显示数据
一.每行显示固定列数 <ListBox ItemsSource="{Binding DataList}" Style="{DynamicResource ListB ...
- unity中编辑器直接截屏代码
using UnityEngine; using System.Collections; using System.Windows.Forms; public class screenshots : ...
- 阿里云服务器报 Liunx异常文件下载处理办法
阿里云服务器报 Liunx异常文件下载.挖矿进程.SSH远程非交互式一句话异常指令执行 清除办法 1.删除crontab里面的自启动脚本 2.删除authorized_keys 里面密匙 3.删除#/ ...
- OSI,TCP/IP,五层协议的体系结构,以及各层协议
OSI分层 (7层):物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP分层(4层):网络接口层. 网际层.运输层. 应用层. 五层协议 (5层):物理层.数据链路层.网络层. ...
- 算法面试题(python)——如何找出数组中出现一次的数
题目描述: 一个数组里,除了三个数是唯一出现的,其余的数都出现了偶数次,找出这三个数中任意一个.比如数组序列为[1,2,4,5,6,4,2],只有1.5.6这三个数字是唯一出现的,数字2.4均出现了偶 ...
- How to convert Word table into Excel using OpenXML
原文出处:https://code.msdn.microsoft.com/How-to-convert-Word-table-0cb4c9c3 class Program { static void ...
- shell脚本中给字符串添加颜色
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: ec ...
- JAVAEE 第八周
equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值. hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数.根类Obje ...
- angular $resouse服务
创建服务 var taskInstancesResource = function ($resource) { var resource = $resource('/ssc-cutover/rest/ ...
- Git clone出现SSL certificate problem
1 可以在cmd下,设置 git config --global http.sslVerify false git clone XXX 即可. 2 TortoiseGit设置 打开TortoiseG ...