美文网首页
2D小游戏——敌人攻击

2D小游戏——敌人攻击

作者: GZoO | 来源:发表于2019-03-17 16:00 被阅读0次
简单射击
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Attack : MonoBehaviour {
    public GameObject bullet;//存放子弹的预制件

    private GameObject m_player;//玩家
    // Use this for initialization
    void Start () {
        m_player = GameObject.FindWithTag(Tags.Player);

        Invoke("GoAttack",2);
    }

    private void GoAttack()
    {
        ShowTheBullet(m_player.transform.position);
        //不定时启动攻击动作
        Invoke("GoAttack", Random.Range(0.5f, 3f));
    }

    //射击
    private void ShowTheBullet(Vector3 target)
    {
        GameObject _bullet = Instantiate(bullet, transform.position, Quaternion.identity);
        //子弹的行进方向为自身到玩家的向量,以此方向给子弹一个大小为25的力
        _bullet.GetComponent<Rigidbody2D>().AddForce((target - _bullet.transform.position) * 25);
    }
}

变化一


   private void GoAttack()
    {
        //一次性发射固定数量的子弹
        for (int i = 0; i < 5; ++i)
        {
            Vector3 temp = m_player.transform.position;
            temp.x += i * 0.5f;
            ShowTheBullet(temp);
        }

        Invoke("GoAttack", Random.Range(0.5f, 3f));
    }

变化二

    private int count;
    private void GoAttack()
    {
        Vector3 temp = m_player.transform.position;
        temp.x += count * 0.3f;
        count++;
        ShowTheBullet(temp);
        if (count == 5)
        {
            count = 0;
            Invoke("GoAttack", Random.Range(1f, 3f));
        }
        else
        {
            Invoke("GoAttack", 0.15f);
        }
    }

相关文章

  • 2D小游戏——敌人攻击

    变化一 变化二

  • 英雄无敌(FPS)

    玩法: 敌人: 生成敌人, 敌人按指定路线移动, 发现玩家并进行攻击, 当血量为0时死亡. 玩家: 攻击敌...

  • 1.17-火攻篇 火攻在古代战争中的妙用

    攻击敌人需要找对方法才能击败敌人!

  • OpenGL的2D游戏教程中为什么要开启面剔除?

    最近在学习OpenGL官方教程中的2D小游戏项目,发现官方在做2D游戏的时候居然开启了面剔除,让人非常费解,如下:...

  • 塔防游戏——防御方设计

    我们已经能够通过生成器产生敌人,这些敌人能自动寻路到达主城所在位置进行攻击。主城被攻破后游戏结束。攻击方已经具备。...

  • 基于Python的PyGame实现的横板动作小游戏

    游戏玩法 玩家操纵主角进行移动和攻击,主角有四种攻击,不同操作惊醒不同的攻击和动画播放,敌人可以对玩家进行攻击 代...

  • 街头神狙手

    这是一款街头射击的小游戏。你化身成为街头狙击手,与敌人英勇作战。控制狙击手上下移动以躲避敌人的子弹,同时射击敌人。...

  • 王者荣耀:阿轲技能介绍

    被动:死吻 阿轲在敌人身后发起的所有攻击,必定暴击,在敌人正面发起的所有攻击,必定不暴击;阿轲的初始暴击伤害为12...

  • 基于cocos2d-x引擎的角色控制器

    最近开始学习cocos2d-x引擎,用来做一些2d小游戏。在基本做完一个飞机大战游戏的情况下,感觉手机玩沙盒2d游...

  • 攻击控制

    攻击需要不同的武器,提取出WeaponBase进行武器攻击 攻击拆分为两种状态:1.没有目标,靠近敌人2.有目标,...

网友评论

      本文标题:2D小游戏——敌人攻击

      本文链接:https://www.haomeiwen.com/subject/fskumqtx.html