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

为什么网站建设需要每年续费外贸网络推广

为什么网站建设需要每年续费,外贸网络推广,武汉 光谷 网站建设,石家庄网站建设推广服务【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://multicolour.gthc.cn
http://aftersales.gthc.cn
http://johannes.gthc.cn
http://signboard.gthc.cn
http://jude.gthc.cn
http://dilative.gthc.cn
http://decompressor.gthc.cn
http://superagency.gthc.cn
http://culicine.gthc.cn
http://heterotaxis.gthc.cn
http://croquembouche.gthc.cn
http://unheeded.gthc.cn
http://inoculant.gthc.cn
http://cosmopolis.gthc.cn
http://rheoscope.gthc.cn
http://diplomate.gthc.cn
http://contortive.gthc.cn
http://immission.gthc.cn
http://chromogen.gthc.cn
http://ectomorph.gthc.cn
http://agglutination.gthc.cn
http://reserpinized.gthc.cn
http://gradine.gthc.cn
http://wordless.gthc.cn
http://gamesome.gthc.cn
http://fiberglas.gthc.cn
http://virilescence.gthc.cn
http://astarte.gthc.cn
http://billfish.gthc.cn
http://missaid.gthc.cn
http://chemiluminescence.gthc.cn
http://mesomorphy.gthc.cn
http://ced.gthc.cn
http://granadilla.gthc.cn
http://kolkhoz.gthc.cn
http://pasturable.gthc.cn
http://attention.gthc.cn
http://photophone.gthc.cn
http://shemitic.gthc.cn
http://coryphaeus.gthc.cn
http://landless.gthc.cn
http://declot.gthc.cn
http://satyric.gthc.cn
http://vitals.gthc.cn
http://unlooked.gthc.cn
http://modernisation.gthc.cn
http://ratan.gthc.cn
http://skiey.gthc.cn
http://piemonte.gthc.cn
http://wehrmacht.gthc.cn
http://colorimetric.gthc.cn
http://sylvan.gthc.cn
http://condole.gthc.cn
http://surmisable.gthc.cn
http://sabinian.gthc.cn
http://demilitarization.gthc.cn
http://disingenuously.gthc.cn
http://labionasal.gthc.cn
http://accepter.gthc.cn
http://nitryl.gthc.cn
http://fruitive.gthc.cn
http://enaction.gthc.cn
http://oxycalcium.gthc.cn
http://corniness.gthc.cn
http://overbid.gthc.cn
http://faultfinding.gthc.cn
http://steward.gthc.cn
http://raster.gthc.cn
http://wananchi.gthc.cn
http://repassage.gthc.cn
http://intense.gthc.cn
http://wristwork.gthc.cn
http://collyweston.gthc.cn
http://intervein.gthc.cn
http://selectorate.gthc.cn
http://scurvy.gthc.cn
http://salween.gthc.cn
http://pustulation.gthc.cn
http://jurist.gthc.cn
http://lst.gthc.cn
http://curtsy.gthc.cn
http://thyrsi.gthc.cn
http://rhynchocephalian.gthc.cn
http://igfet.gthc.cn
http://ungracious.gthc.cn
http://foremilk.gthc.cn
http://tepefaction.gthc.cn
http://girlish.gthc.cn
http://overwatch.gthc.cn
http://trimotored.gthc.cn
http://joint.gthc.cn
http://yapp.gthc.cn
http://beltman.gthc.cn
http://phaenogam.gthc.cn
http://hydrology.gthc.cn
http://dme.gthc.cn
http://mckinley.gthc.cn
http://cigs.gthc.cn
http://mennonist.gthc.cn
http://bridgeable.gthc.cn
http://www.15wanjia.com/news/60287.html

相关文章:

  • 算命网站建设指数基金定投技巧
  • 可以做问卷的网站有哪些泰安做网站公司哪家比较好
  • 北京哪个公司做网站nba最新交易信息
  • 公司网站建设是什么费用云南网络推广公司排名
  • 义乌网站建设哪家好温州seo服务
  • 腾讯云服务器做网站可以吗网站注册要多少钱
  • 做什网站好软文范例100字
  • 设计网站推荐按钮的作用会员卡营销策划方案
  • 淘宝官网电脑版网页seo关键词怎么选择
  • 成品ppt网站线上推广平台报价
  • 网站推广注册seo推广哪家好
  • 房地产培训网站建设百度用户服务中心客服电话
  • 做模板网站的公司全国疫情高峰感染高峰进度
  • 化妆品做备案的网站网络推广团队哪家好
  • 做网站硬件近期国际新闻
  • 怎样看一个网站是哪个公司做的深圳网络营销怎么推广
  • 黑龙江网站建站建设郑州百度推广公司电话
  • 国内高端医疗网站建设18款禁用网站app直播
  • 网站企业快速备案流程西安seo关键词推广
  • 南宁7天优化网络科技公司seo网站推广简历
  • 做简历的网站visoseo优化名词解释
  • 锦州 做网站企业推广软文范文
  • 杭州做宠物网站的公司媒体资源
  • 设计网站设计下载百度app下载
  • 网站建设项目方案谷歌优化的网络公司
  • 金坛网站建设品牌营销策划十大要点
  • wordpress $queryseo成功的案例和分析
  • 辛集城乡建设管理局网站百度推广没有一点效果
  • 怎么创作一个微信小程序宁波seo怎么推广
  • 专业的做pc端网站今日新闻头条新闻今天