RPG2.0战斗框架学习2

本文继上篇战斗流程分析后,深入探讨Unity3D中RPG2.0战斗框架的UI交互部分,主要目标是实现按住技能按钮时在角色周围动态显示技能范围。通过NGUI进行按压触发,并设计了针对扇形攻击和直线型攻击的不同技能范围预制件,定义了相关接口来控制技能的显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在上一篇简单的分析完战斗流程,接下来,将仔细分析,每个环节的代码,这一篇研究UI层面的交互,即流程中的第一步

目标:实现,按住技能在人物周围显示技能范围,


步骤

1 按压触发,这里使用NGUI

UIEventListener.Get(技能图标).onPress = PressSkillButton;

    void PressSkillButton(GameObject o, bool ispress)
    {
            if (o == 此技能图标)
            {
                if (ispress)
                {
					//执行图标动画
                    o.transform.parent.GetComponent<Animator>().Play("press");
					//方法在PartyAI中定义
                    PlayerPartyAI.instance.PressSkillButton( 角色索引,技能索引 );
                }
                else
                {
					//松手,如果是点击操作
                    if (ButtonUpOnThis(o))
                    {	//播放动画
                        o.transform.parent.GetComponent<Animator>().Play("click");
						//方法在PartyAI中定义
                        PlayerPartyAI.instance.InputSkilButton(角色索引,技能索引 );
                    }
                    else o.transform.parent.GetComponent<Animator>().Play("idle");

                } 
            }
    }

2 技能范围显示,要做一个prefab,技能范围,分为扇形攻击:技能角度,技能范围(长度),直线型攻击:技能宽度,技能范围(长度),所以要定义两个接口,

using UnityEngine;
using System.Collections;
//[ExecuteInEditMode]
public class BattleSkillRange : MonoBehaviour {
    public float skillAngle = 10f;
    public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值