Unity.击球游戏

本文介绍了一款使用Unity开发的击球游戏,主要内容包括游戏截图、对象树的结构,以及游戏的核心组成部分:AnimationLegacy负责动画控制和输入监听,Judge模块实现游戏逻辑判断,GUI界面展示,GenGameController进行游戏控制器生成。通过这些组件,游戏实现了观察者模式的设计思想。
摘要由CSDN通过智能技术生成
游戏截图:

这里写图片描述

对象树:

这里写图片描述

这个游戏大体可以分为 动画判断 两个部分,重要说明注释在了代码里

AnimationLegacy

用来控制动作的,和监听鼠标键盘,这里和后面的Judge一起形成了 观察者模式

using UnityEngine;
using System.Collections;
using Com.mygame;

public class AnimationLegacy : MonoBehaviour {

    //define animation control object here
    private Animation ani;
    private AnimationState attack;
    private AnimationState idle;
    private AnimationState run;

    public bool isAttacking = false;

    private SenceController sc;

    // 注意这里,在这里我们用static定义了一个全局静态时间,在Judge中使用
    public delegate void AttackHandler(GameObject obj);
    public static event AttackHandler AttackEvent; 

    // Use this for initialization
    void Start () {
        ani = GetComponent<Animation> ();
        attack = ani ["Attack1"];
        idle = ani["Idle"];
        run = ani["Run"];

        idle.wrapMode = WrapMode.Loop;
        ani.Play (idle.clip.name);

        sc = SenceController.getInstance ();
    }

    // Update is called once per frame
    void Update () {
        float speed = 10f;
        // move
        if (Input.GetKey(KeyCode.W)) {
            //因为是用键盘控制的,所以无法转向
            transform.Translate (Vector3.forward * Time.deltaTime * speed);
            sc.setIsAttack (false);
            ani.CrossFade ("Run");
        } else if (Input.GetKey(KeyCode.A)) {
            transform.Translate (Vector3.left * Time.deltaTime * speed);
            sc.setIsAttack (false);
            ani.CrossFade ("Run");
        } else 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值