unity 2d 入门 飞翔小鸟 死亡闪烁特效(十三)
2023-12-13 19:56:54
一、c#脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bling : MonoBehaviour
{
public Texture img;
public float speed;
public static bool changeWhite = false;
private float alpha=0f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void OnGUI()
{
if (changeWhite) {
alpha += speed * Time.deltaTime;
if (alpha>=1) {
changeWhite = false;
}
}else{
if (alpha>0) {
alpha -= speed * Time.deltaTime;
}
}
GUI.color = new Color(GUI.color.r, GUI.color.g, GUI.color.b, alpha);
GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),img);
}
public static void blinking()
{
changeWhite = true;
}
}
二、在角色脚本触发物体脚本中引用闪烁脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Fly : MonoBehaviour
{
//获取小鸟(刚体)
private Rigidbody2D bird;
//速度
public float speed;
//跳跃
public float jump;
//是否存活
public static bool life = true;
//获取动画器
private Animator animator;
// Start is called before the first frame update
void Start()
{
bird = GetComponent<Rigidbody2D>();
animator = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
//村换的时候才能运动
if (life) {
bird.velocity = new Vector2(speed, bird.velocity.y);
//鼠标点击给目标一个纵向速度
if (Input.GetMouseButtonDown(0))
{
bird.velocity = new Vector2(bird.velocity.x, jump);
}
}
}
//如果碰撞器撞到了某个物体
private void OnCollisionEnter2D(Collision2D collision)
{
if (life==true) {
Bling.blinking();
}
life = false;
animator.SetBool("life", false);
}
}
在淡入淡出引用闪烁脚本
运行,触发物体就会闪烁
文章来源:https://blog.csdn.net/weixin_43205308/article/details/134907970
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!