当前位置: 首页 > news >正文

网站建好以后每年都续费么软文营销文章300字

网站建好以后每年都续费么,软文营销文章300字,电商网站设计,定制软件开发成本【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节添加了更多的音效细节 音频管理器 AudioManager.cs 使得多个音效可以同时播放,注释掉以下代码 public void PlaySFX(in…

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili

教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/

本章节添加了更多的音效细节

音频管理器

AudioManager.cs

使得多个音效可以同时播放,注释掉以下代码

 public void PlaySFX(int _sfxIndex,Transform _source)//播放音效{//if(sfx[_sfxIndex].isPlaying)//如果音效正在播放//    return;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class AudioManager : MonoBehaviour
{public static AudioManager instance;[SerializeField] private float sfxMinimumDistance;//音效最小距离[SerializeField] private AudioSource[] sfx;//音效[SerializeField] private AudioSource[] bgm;//背景音乐public bool playBgm;private int bgmIndex;private void Awake(){if(instance != null)Destroy(instance.gameObject);elseinstance = this;}private void Update(){if (!playBgm)StopAllBGM();else{if(!bgm[bgmIndex].isPlaying)//如果背景音乐没有播放PlayBGM(bgmIndex);}}public void PlaySFX(int _sfxIndex,Transform _source)//播放音效{//if(sfx[_sfxIndex].isPlaying)//如果音效正在播放//    return;if(_source!=null && Vector2.Distance(PlayerManager.instance.player.transform.position, _source.position) > sfxMinimumDistance)//距离过远不播放return;if (_sfxIndex < sfx.Length){sfx[_sfxIndex].pitch = Random.Range(.85f, 1.15f);//设置音效的音调sfx[_sfxIndex].Play();}}public void StopSFX(int _index) => sfx[_index].Stop();//停止音效public void PlayRandomBGM()//播放随机背景音乐{bgmIndex = Random.Range(0, bgm.Length);PlayBGM(bgmIndex);}public void PlayBGM(int _bgmIndex)//播放背景音乐{bgmIndex = _bgmIndex;StopAllBGM();bgm[bgmIndex].Play();}public void StopAllBGM(){for (int i = 0; i < bgm.Length; i++){bgm[i].Stop();}}}

Blackhole_Skill.cs

加上了释放技能的玩家语音和技能音效

        AudioManager.instance.PlaySFX(3, player.transform);AudioManager.instance.PlaySFX(6, player.transform);
using UnityEngine;
using UnityEngine.UI;public class Blackhole_Skill : Skill
{[SerializeField] private UI_SkillTreeSlot blackHoleUnlockButton;public bool blackHoleUnlocked { get; private set; }[SerializeField] private int amountOfAttacks;[SerializeField] private float cloneCooldown;[SerializeField] private float blackholeDuration;[Space][SerializeField] private GameObject blackHolePrefab;[SerializeField] private float maxSize;[SerializeField] private float growSpeed;[SerializeField] private float shrinkSpeed;BlackHole_Skill_Controller currentBlackhole;//当前的黑洞private void UnlockBlackHole(){if (blackHoleUnlockButton.unlocked)blackHoleUnlocked =true;}public override bool CanUseSkill(){return base.CanUseSkill();}public override void UseSkill(){base.UseSkill();//调用了基类 Skill中的 UseSkill 方法GameObject newBlackHole = Instantiate(blackHolePrefab, player.transform.position, Quaternion.identity); //这行代码使用 Instantiate 方法在玩家当前位置生成一个新的黑洞对象currentBlackhole = newBlackHole.GetComponent<BlackHole_Skill_Controller>();currentBlackhole.SetupBlackhole(maxSize, growSpeed, shrinkSpeed, amountOfAttacks, cloneCooldown,blackholeDuration);//调用SetupBlackhole,传递一系列参数来配置黑洞的行为,包括最大尺寸、增长速度、缩小速度、攻击次数和克隆冷却时间AudioManager.instance.PlaySFX(3, player.transform);AudioManager.instance.PlaySFX(6, player.transform);}protected override void Start(){base.Start();blackHoleUnlockButton.GetComponent<Button>().onClick.AddListener(UnlockBlackHole);}protected override void Update(){base.Update();}public bool SkillCompeleted(){if(!currentBlackhole){return false;}if (currentBlackhole.playerCanExitState){currentBlackhole = null;return true;}return false;}public float GetBlackholeRadius()//解决水晶黑洞的攻击范围问题{return maxSize / 2;}protected override void CheckUnlock(){base.CheckUnlock();UnlockBlackHole();  }
}

ItemObject.cs

添加了拾取物品的音效

public void PickupItem()//将物品添加到背包,然后销毁
{//11月12日改if (!Inventory.instance.CanAddItem() && itemData.itemType == ItemType.Equipment)//如果不能添加物品并且物品类型是装备{rb.velocity = new Vector2(0, 7);return;}AudioManager.instance.PlaySFX(18, transform);Inventory.instance.AddItem(itemData);Destroy(gameObject);
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;//创建一个物体,放入这个脚本
public class ItemObject : MonoBehaviour
{[SerializeField] private Rigidbody2D rb;[SerializeField] private ItemData itemData;//就是你放入的图标private void SetupVisuals()//设置物品的图标和名称{if (itemData == null)return;SpriteRenderer spriteRenderer = GetComponent<SpriteRenderer>();if (spriteRenderer == null){Debug.LogError("SpriteRenderer component is missing");return;}GetComponent<SpriteRenderer>().sprite = itemData.icon;//在编辑器中显示图标gameObject.name = "Item object - " + itemData.itemName;//直接在编辑器中显示名字}public void SetupItem(ItemData _itemData,Vector2 _velocity)//配置物品的数据和掉落的初始速度{itemData = _itemData;rb.velocity = _velocity;SetupVisuals();}public void PickupItem()//将物品添加到背包,然后销毁{//11月12日改if (!Inventory.instance.CanAddItem() && itemData.itemType == ItemType.Equipment)//如果不能添加物品并且物品类型是装备{rb.velocity = new Vector2(0, 7);return;}AudioManager.instance.PlaySFX(18, transform);Inventory.instance.AddItem(itemData);Destroy(gameObject);}
}

Checkpoint.cs

到检查点如果火堆未启动过,加个点亮火堆的音效

        if(activationStatus==false)AudioManager.instance.PlaySFX(5, transform);
using System.Collections;
using System.Collections.Generic;
using UnityEngine;//2024.11.28 19:38 疑似有点生病
//
public class Checkpoint : MonoBehaviour
{private Animator anim;public string id;public bool activationStatus;private void Awake(){anim = GetComponent<Animator>();}[ContextMenu("产生检查点ID")]//在编辑器中生成一个按钮private void GenerateId(){id = System.Guid.NewGuid().ToString();}private void OnTriggerEnter2D(Collider2D collision)//检测到碰撞{if (collision.GetComponent<Player>()!=null)//检测到玩家{ActivateCheckPoint();//激活检查点}}public void ActivateCheckPoint()//激活检查点{if(activationStatus==false)AudioManager.instance.PlaySFX(5, transform);activationStatus = true;anim.SetBool("active", true);}
}

PlayerMoveState.cs

移动会产生脚步声

    public override void Enter(){base.Enter();AudioManager.instance.PlaySFX(14,null);}public override void Exit(){base.Exit();AudioManager.instance.StopSFX(14);}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerMoveState : PlayerGroundedState
{public PlayerMoveState(Player _player, PlayerStateMachine _stateMachine, string _animBoolName) : base(_player, _stateMachine, _animBoolName){}public override void Enter(){base.Enter();AudioManager.instance.PlaySFX(14,null);}public override void Exit(){base.Exit();AudioManager.instance.StopSFX(14);}public override void Update(){base.Update();player.SetVelocity(xInput * player.moveSpeed, rb.velocity.y);if (xInput == 0  || player.IsWallDetected())stateMachine.ChangeState(player.idleState);//如果玩家没有按下左箭头键或右箭头键,我们将切换到Idle状态}
}

http://www.dinnco.com/news/63176.html

相关文章:

  • 做鲜花的网站有哪些全网络品牌推广
  • 做图文的网站怎么在百度发布信息
  • 工业贸易企业 营销型网站优化排名推广技术网站
  • 做自媒体的有哪些素材网站常见的网络推广方式有哪些
  • 大黄网站.网站优化+山东
  • 营销型企业网站建设的基本原则是企业营销策划论文
  • 做网站优势品牌推广网络公司
  • 网站建设与微信公众号绑定品牌营销策划
  • 推荐一个简单的网站制作网络推广员每天的工作是什么
  • 做企业网站找哪家91永久免费海外地域网名
  • 莱芜金点子信息港房屋出租seo排名软件怎么做
  • 自己建一个网站需要什么营销传播服务
  • 网站推广的目的是什么创意设计
  • 阿里巴巴做网站需要多少钱网页设计和网站制作
  • 九江网站建设搜索引擎营销名词解释
  • 有肌肉男与小姐姐做床上运动的网站今日小说排行榜
  • 怎么做卡蜜网站网络营销的特点和优势
  • google 网站收录百度推广客户端mac版
  • 网站建设10个基本步骤重庆网络营销
  • 我的世界做皮肤网站中国十大电商公司排名
  • 做网站需要用到那些软件seo技术外包
  • 织梦手机端网站怎么做郑州seo学校
  • 外贸用什么网站开发客户国际机票搜索量大涨
  • 做淘宝客网站备案要怎么写网站的宣传推广方式
  • 360网址大全电脑版seo运营学校
  • 做动漫图片的网站web网站设计
  • 门户类网站前台四川省最新疫情情况
  • wordpress addfilter什么叫优化关键词
  • 东阿县住房和城乡建设局网站昆明抖音推广
  • 长沙做网站湖南微联讯点不错百度数据研究中心