吃到奖励变换子弹的方法

public class hero : MonoBehaviour
{
    public float superGunTime = 10f;
    private float resetSuperGunTime;
    private int GunCount = 1;
    //用fire脚本去声明三个变量来存放三个位置的枪口
    public fire upGun;
    public fire rightGun;
    public fire leftGun;

void Start()
    {
        // player = GameObject.FindGameObjectWithTag("Player").transform;
        resetSuperGunTime = superGunTime;
        superGunTime = 0;
        GunCount = 1;
        upGun.OnFire();
    }

 void Update()
    {

         superGunTime -= Time.deltaTime;
        if (superGunTime > 0)
        {
            if (GunCount==1)
            {
                GunToSuperGun();
                GunCount = 3;
            }

        }
        else
        {
            GunToNormal();
            GunCount = 1;
        }
    }

    private void GunToSuperGun()
    {
         //得到fire脚本的OnFire方法
        rightGun.OnFire();
        leftGun.OnFire();
    }

    private void GunToNormal()
    {
        rightGun.StopFire();
        leftGun.StopFire();
    }

 public void OnTriggerEnter2D(Collider2D collider)
    {

        if (collider.tag=="Award")//判断是否碰到了Tag标签
        {
            print("是Awar");
            Award award = collider.GetComponent<Award>();//得到Award脚本的组件
            if (award.type==1)//判断type的类型
            {
                print("是1");
                superGunTime = resetSuperGunTime;
                Destroy(collider.gameObject);//销毁碰撞到的物体的
            }
        }

    }
}

这里是fire脚本的代码

using System;
using UnityEngine;
using System.Collections;

public class fire : MonoBehaviour
{

    public float rate = 0.2f;
    public GameObject bullet;

    //实例化子弹
    public void Fire()
    {
        GameObject.Instantiate(bullet, transform.position, Quaternion.identity);
    }
    //如何实例化子弹
    public void OnFire()
    {
        InvokeRepeating("Fire",0.1f,rate);
    }

    //停止子弹发射
    public void StopFire()
    {
        //取消invoke的指令
        CancelInvoke("Fire");
    }
}
时间: 2024-12-15 01:41:09

吃到奖励变换子弹的方法的相关文章

ACM 324有一堆桃子不知数目猴子第一天吃掉一半又多吃了一个第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m&lt;29) 输入

#include<stdio.h> int fun(int m); int main() { int n; int m; scanf("%d",&n); while(n--) { scanf("%d",&m); m=m+1; printf("%d",fun(m)); printf("\n"); } return 0; } int fun(int m) { int s; if(m==1) s=1; e

子弹超出界面删除子弹对象

实现思路: 通过循环遍历获取子弹,调用子弹销毁方法. 如果子弹的x坐标小于0或者大于界面宽度删除子弹对象. 如果子弹的y坐标小于0或者大于界面高度删除子弹对象. 代码实现: 1.设置类循环遍历子弹 1 package Itheima; 2 3 import java.util.List; 4 import java.util.concurrent.CopyOnWriteArrayList; 5 6 import org.itheima.game.Window; 7 import org.lwjg

C#中接口和方法的运用(Fourteenth Day)

由于周五我有一些事情没来得及总结当天的知识,所以在今天总结一下周五在云和学院所学到的有关委托的知识. 理论: 接口: •接口的定义:interface关键字,接口中可以有属性.方法(未实现) •接口的名称通常以“I”开头,如IList •如果一个类即继承了类又实现了接口,那么类必须写在前面.一个类只能继承一个父类,但可以实现多个接口. •class Student : Person , IComparable(这是已经定义好的接口) •完全抽象的一种约定 •接口就是用来实现的 •语法: [访问修

射击游戏---栈与子弹(2)

[栈]射击游戏1 Description 小明很喜欢玩射击游戏.他刚考完了数据结构期末考试,感觉不错,于是又来到了射击娱乐场放松一下.和上次一样,先从老板那租了一把步枪和装有N发子弹的弹夹.这里,再把规则说一遍.在射击的过程中,小明每次都有两种选择:从弹夹中取出一颗子弹上膛,或者打一发子弹出去.注意:所有的子弹都从枪口上膛.小明感觉这有点像<数据结构>课程中的“栈”的特点.因此在打完了这N发子弹之后,他想验证一下这些子弹打出来的顺序是不是真的满足“栈”的特性.假设N颗子弹的编号为1,2,…,N

以吃货的角度去理解云计算中On-Premise、IaaS、PaaS和SaaS

了解云计算的一定都听过四个“高大上”的概念:On-Premise(本地部署),IaaS(基础设施及服务).PaaS(平台即服务)和SaaS(软件即服务),这几个术语并不好理解.不过,如果你是个吃货,还喜欢汉堡,那这个问题就好解决了! 如果我想吃汉堡,有几种方法呢? 1.自己买材料自己做 准备烤箱,准备火腿,准备面粉,准备青菜,然后自己和面,加材料,加热等等.其要求动手能力比较强,比较难做,但是,您可以根据自己的口味,做出符合自己味道的汉堡.这就是On-Premise(本地部署). 典型代表:物理

OC基础--对象做参数在方法间传递

剧情描述: 美国大兵抗把汉阳造 拿着5个弹夹(每个弹夹5发子弹) 带着弟兄们干架 子弹打完了就求救 类: 士兵: 属性: 姓名(_name) 身高(_height) 体重(_weight) 行为: 开枪(fire) 求救(callForHelp) 枪: 属性: 弹夹(_clip) 弹夹数量(_clipNum) 品牌(_model) 行为: 换弹夹(changeClip) 发射子弹(shot) 弹夹: 属性: 子弹数量(_bulletCount) 行为: 装子弹(addBullet) 方法说明:

EmguCV Image类中的函数(二)使用MorphologyEx进行更多的变换

MorphologyEx中所有的变换如下图所示 调用方法: [csharp] view plain copy print? Mat aaa = CvInvoke.GetStructuringElement(Emgu.CV.CvEnum.ElementShape.Rectangle, new Size(5, 5), new Point(2, 2)); imageBox1.Image = a.MorphologyEx(Emgu.CV.CvEnum.MorphOp.Tophat, aaa, new P

浅谈C# 多态的魅力(虚方法,抽象,接口实现)

浅谈C# 多态的魅力(虚方法,抽象,接口实现) 分类:             asp.net             C#              2014-02-08 11:29     786人阅读     评论(0)     收藏     举报 浅谈C# 多态的魅力(虚方法,抽象,接口实现) 前言:我们都知道面向对象的三大特性:封装,继承,多态.封装和继承对于初学者而言比较好理解,但要理解多态,尤其是深入理解,初学者往往存在有很多困惑,为什么这样就可以?有时候感觉很不可思议,由此,面向

cocos2d-x精灵移动的方法

1.飞机发射子弹型 想要实现子弹的的飞行效果,又不想在每帧Update里计算位置,最好的方法调用CCMoveTo 例在发射子弹的时机,能够ccTouchBegan时: CCMoveTo* move = CCMoveTo::create(0.4f, ccp(_plane->getPosition().x+winSize.width/4, _plane->getPosition().y));//射程是屏幕的1/4,起点是飞机的位置,用0.4秒飞完射程 _bullet->runAction(C