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

经营一个网站要怎么做搜索网站有哪几个

经营一个网站要怎么做,搜索网站有哪几个,网络毕业设计,微信分销小程序Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Sword_Skill_Controller.cs using System.Collections; using System.Col…

 Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考
此代码仅为较上一P有所改变的代码

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

Sword_Skill_Controller.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Sword_Skill_Controller : MonoBehaviour
{[SerializeField] private float returnSpeed = 12;private bool isReturning;private Animator anim;private Rigidbody2D rb;private CircleCollider2D cd;private Player player;private bool canRotate = true;[Header("Bounce info")][SerializeField]private float bounceSpeed;//设置弹跳速度private bool isBouncing;//判断是否可以弹跳private int amountOfBounce;//弹跳的次数public List<Transform> enemyTargets;//保存所有在剑范围内的敌人的列表private int targetIndex;//设置targetIndex作为敌人计数器private void Awake(){anim = GetComponentInChildren<Animator>();rb = GetComponent<Rigidbody2D>();cd = GetComponent<CircleCollider2D>();}public void ReturnSword(){rb.constraints = RigidbodyConstraints2D.FreezeAll;//修复剑只要不触碰到物体就无法收回的bug//rb.isKinematic = false;transform.parent = null;isReturning = true;}public void SetupSword(Vector2 _dir,float _gravityScale,Player _player){player = _player;rb.velocity = _dir;rb.gravityScale = _gravityScale;anim.SetBool("Rotation", true);}public void SetupBounce(bool _isBouncing,int _amountOfBounce){isBouncing = _isBouncing;amountOfBounce = _amountOfBounce;}private void Update(){if (canRotate)transform.right = rb.velocity;//使武器随着速度而改变朝向if (isReturning){transform.position = Vector2.MoveTowards(transform.position, player.transform.position, returnSpeed * Time.deltaTime);//从原来的位置返回到player的位置//并且随着时间增加而增加速度if (Vector2.Distance(transform.position, player.transform.position) < 1)//当剑与player的距离小于一定距离,清除剑{player.CatchTheSword();}}BounceLogic();}private void BounceLogic(){if (isBouncing && enemyTargets.Count > 0){transform.position = Vector2.MoveTowards(transform.position, enemyTargets[targetIndex].position, bounceSpeed * Time.deltaTime);//3.当可以弹跳且列表内数量大于0,调用ToWords,这将使剑能够跳到敌人身上if (Vector2.Distance(transform.position, enemyTargets[targetIndex].position) < .1f){targetIndex++;amountOfBounce--;//设置弹跳次数if (amountOfBounce <= 0){isBouncing = false;isReturning = true;}//这样会使当弹跳次数为0时,返回到角色手中if (targetIndex >= enemyTargets.Count){targetIndex = 0;}}//利用与目标距离的判断,使剑接近目标距离时切换到下一个目标。//且如果所有目标都跳完了,切回第一个}}private void OnTriggerEnter2D(Collider2D collision)//传入碰到的物体的碰撞器{if (isReturning){return;}//修复在返回时扔出时没有碰到任何物体,但返回时碰到了物体导致剑的一些性质发生改变的问题,及回来的时候调用了OnTriggerEnter2Dif (collision.GetComponent<Enemy>() != null)//首先得碰到敌人,只有碰到敌人才会跳{if (isBouncing && enemyTargets.Count <= 0){Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, 10);foreach (var hit in colliders){if (hit.GetComponent<Enemy>() != null){enemyTargets.Add(hit.transform);}}}}StuckInto(collision);}//打开IsTrigger时才可使用该函数//https://docs.unity3d.com/cn/current/ScriptReference/Collider2D.OnTriggerEnter2D.htmlprivate void StuckInto(Collider2D collision){canRotate = false;cd.enabled = false;//相当于关闭碰撞后触发函数。//https://docs.unity3d.com/cn/current/ScriptReference/Collision2D-enabled.htmlrb.isKinematic = true;//开启物理学反应 https://docs.unity3d.com/cn/current/ScriptReference/Rigidbody2D-isKinematic.htmlrb.constraints = RigidbodyConstraints2D.FreezeAll;//冻结所有移动if (isBouncing&&enemyTargets.Count>0)//修复剑卡不到墙上的bugreturn;//终止对动画的改变和终止附在敌人上transform.parent = collision.transform;//设置sword的父组件为碰撞到的物体anim.SetBool("Rotation", false);}}
Sword_Skill.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public enum SwordType
{Regular,Bounce,Pierce,Spin
}public class Sword_Skill : Skill
{public SwordType swordType = SwordType.Regular;[Header("Bounce Info")][SerializeField] private int amountOfBounce;[SerializeField] private float bounceGravity;[Header("Skill Info")][SerializeField] private GameObject swordPrefab;//sword预制体[SerializeField] private Vector2 launchForce;//发射力度[SerializeField] private float swordGravity;//发射体的重力private Vector2 finalDir;//发射方向[Header("Aim dots")][SerializeField] private int numberOfDots;//需要的点的数量[SerializeField] private float spaceBetweenDots;//相隔的距离[SerializeField] private GameObject dotPrefab;//dot预制体[SerializeField] private Transform dotsParent;//不是很懂private GameObject[] dots;//dot组protected override void Start(){base.Start();GenerateDots();//生成点函数}protected override void Update(){base.Update();if (Input.GetKeyUp(KeyCode.Mouse1)){finalDir = new Vector2(AimDirection().normalized.x * launchForce.x, AimDirection().normalized.y * launchForce.y);//将位移量改为单位向量分别与力度的x,y相乘作为finalDir}if (Input.GetKey(KeyCode.Mouse1)){for (int i = 0; i < dots.Length; i++){dots[i].transform.position = DotsPosition(i * spaceBetweenDots);//用循环为每个点以返回值赋值(传入值为每个点的顺序i*点间距}}}public void CreateSword(){GameObject newSword = Instantiate(swordPrefab, player.transform.position, transform.rotation);//创造实例,初始位置为此时player的位置Sword_Skill_Controller newSwordScript = newSword.GetComponent<Sword_Skill_Controller>();//获得Controllerif(swordType == SwordType.Bounce){swordGravity = bounceGravity;newSwordScript.SetupBounce(true, amountOfBounce);}newSwordScript.SetupSword(finalDir, swordGravity, player);//调用Controller里的SetupSword函数,给予其速度和重力和player实例player.AssignNewSword(newSword);//调用在player中保存通过此方法创造出的sword实例DotsActive(false);//关闭点的显示}#region Aim regionpublic Vector2 AimDirection(){Vector2 playerPosition = player.transform.position;//拿到玩家此时的位置Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);//https://docs.unity3d.com/cn/current/ScriptReference/Camera.ScreenToWorldPoint.html//大概就是返回屏幕上括号里的参数的位置,这里返回了鼠标的位置//拿到此时鼠标的位置Vector2 direction = mousePosition - playerPosition;//获得距离的绝对向量return direction;//返回距离向量}public void DotsActive(bool _isActive){for (int i = 0; i < dots.Length; i++){dots[i].SetActive(_isActive);//设置每个点是否显示函数}}private void GenerateDots()//生成点函数{dots = new GameObject[numberOfDots];//为dot赋予实例数量for (int i = 0; i < numberOfDots; i++){dots[i] = Instantiate(dotPrefab, player.transform.position, Quaternion.identity, dotsParent);//对象与世界轴或父轴完全对齐//https://docs.unity3d.com/cn/current/ScriptReference/Quaternion-identity.htmldots[i].SetActive(false);//关闭dot}}private Vector2 DotsPosition(float t)//传入顺序相关的点间距{Vector2 position = (Vector2)player.transform.position +new Vector2(AimDirection().normalized.x * launchForce.x,AimDirection().normalized.y * launchForce.y) * t  //基本间距+ .5f * (Physics2D.gravity * swordGravity) * (t * t)//重力影响;//t是控制之间点间距的return position;//返回位置}//设置点间距函数#endregion
}


文章转载自:
http://ichnographically.c7510.cn
http://atli.c7510.cn
http://acescent.c7510.cn
http://linkup.c7510.cn
http://psychopathist.c7510.cn
http://lutrine.c7510.cn
http://krameria.c7510.cn
http://adjuvant.c7510.cn
http://histadrut.c7510.cn
http://monostable.c7510.cn
http://salty.c7510.cn
http://harmonistic.c7510.cn
http://polyrhythm.c7510.cn
http://boney.c7510.cn
http://lignitiferous.c7510.cn
http://blastocoel.c7510.cn
http://octopodes.c7510.cn
http://physostigmine.c7510.cn
http://relativity.c7510.cn
http://ziarat.c7510.cn
http://indeliberately.c7510.cn
http://corolla.c7510.cn
http://myoblast.c7510.cn
http://varia.c7510.cn
http://lugansk.c7510.cn
http://semiweekly.c7510.cn
http://bantering.c7510.cn
http://stenciller.c7510.cn
http://jocundity.c7510.cn
http://canuck.c7510.cn
http://norethindrone.c7510.cn
http://canicula.c7510.cn
http://fortunately.c7510.cn
http://probationary.c7510.cn
http://orchestrate.c7510.cn
http://bookmark.c7510.cn
http://granuliform.c7510.cn
http://firearm.c7510.cn
http://aggregately.c7510.cn
http://demy.c7510.cn
http://goup.c7510.cn
http://slavicist.c7510.cn
http://moistureless.c7510.cn
http://molybdenian.c7510.cn
http://spinor.c7510.cn
http://exactitude.c7510.cn
http://pinnatilobate.c7510.cn
http://groupuscule.c7510.cn
http://beamwidth.c7510.cn
http://spae.c7510.cn
http://abiogeny.c7510.cn
http://cher.c7510.cn
http://decomposed.c7510.cn
http://syllepses.c7510.cn
http://oliver.c7510.cn
http://countercharge.c7510.cn
http://agonist.c7510.cn
http://eulamellibranch.c7510.cn
http://gearwheel.c7510.cn
http://sciaenid.c7510.cn
http://eyewinker.c7510.cn
http://willard.c7510.cn
http://unawares.c7510.cn
http://unitarianism.c7510.cn
http://criosphinx.c7510.cn
http://jotter.c7510.cn
http://hardboard.c7510.cn
http://windbreak.c7510.cn
http://concordant.c7510.cn
http://verfremdungseffect.c7510.cn
http://wscf.c7510.cn
http://arcade.c7510.cn
http://disintoxicate.c7510.cn
http://jackanapes.c7510.cn
http://aftermost.c7510.cn
http://treasuryship.c7510.cn
http://attainment.c7510.cn
http://haftarah.c7510.cn
http://chromotype.c7510.cn
http://gi.c7510.cn
http://dioxirane.c7510.cn
http://engarcon.c7510.cn
http://sightseer.c7510.cn
http://supportative.c7510.cn
http://clc.c7510.cn
http://berascal.c7510.cn
http://wrasse.c7510.cn
http://lapidary.c7510.cn
http://whiny.c7510.cn
http://turnoff.c7510.cn
http://chancroid.c7510.cn
http://ankyloglossia.c7510.cn
http://chevalier.c7510.cn
http://bracelet.c7510.cn
http://celandine.c7510.cn
http://bandolero.c7510.cn
http://christmastime.c7510.cn
http://cascade.c7510.cn
http://secernent.c7510.cn
http://repetition.c7510.cn
http://www.zhongyajixie.com/news/76847.html

相关文章:

  • 中小企业查询系统网seo免费优化公司推荐
  • 市住房官方建设委网站湖北网络推广seo
  • wordpress与微信连接数据库seo优化一般优化哪些方面
  • 企业视频网站模板网站推广seo设置
  • 建设b2c商城网站火星时代教育培训机构学费多少
  • 单位写材料素材网站域名注册购买
  • 常州新北区建设局网站培训机构网站
  • 动漫网站开发与建设软文营销的特点有哪些
  • 织梦论坛源码短视频seo询盘获客系统
  • 南京网站建设推广外贸全网营销推广
  • 网站建设进度表怎么做怎么接app推广的单子
  • 网站开发建设交印花税吗怎么免费创建自己的网站
  • 漳州网站建设喊博大科技代发百度关键词排名
  • 网站建设项目来源青岛百度seo
  • 东莞网站建设对比大数据精准营销系统
  • 专用车网站建设哪家好适合40岁女人的培训班
  • 中诺建设集团网站周口seo公司
  • 如何对网站做优化温州seo网站建设
  • wordpress网站存放在万网的app叫什么
  • 创意合肥网站建设网站内容优化关键词布局
  • wordpress手机不方便seo推广公司价格
  • 平湖市网站建设seo sem推广
  • 怎么用文件做网站网站开发建站
  • 为澳门赌场做网站维护seo网络优化平台
  • 信誉好的顺德网站建设最新消息
  • 备案ip 查询网站查询网站seo外包如何
  • 申通物流的网站建设搜索引擎调价平台哪个好
  • 有一个专门做lol同人的网站seo伪原创工具
  • 都有哪些做二手挖机的网站建设网站制作
  • 可以做兼职的网站美食软文300范例