fffg
fffg
碰撞
box
刚体
ridibody
对于刚体碰撞抖动的问题,因为Time.deltaTime 所应用的每一帧的运行和电脑性能有关,导致时间不同所受的力也不同 要用FixedUpdate固定 物理帧的更新函数解决问题。和Time.fixedTime
if(v!=0)
if(Input.GetkeyDown(KeyCode.Space))
{
Instantiate()
}
tank的攻击方法
hとvの値で方向をコントロール
全ての参照はAwakeの中設定
2019.11.13 9:30
case "Tank":
if(isPlayerBullect)//不是玩家的子弹
{
collision.SendMessage("Die");
}
break;
transform.position,transform.rotaion
Destroy(gameObject, 0.2f);
explosionPrefab
private fooat defendTimeVal;
defendEffectPrefab
isPlayerBullect
Destroy(collision.gameObject
SpriteRenderer sr
sr=GetComponent
Sprite BrokenSprite
sr.sprite=BrokenSprite
public float moveSpeed = 3;
float h = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);
float v = Input.GetAxisRaw("Vertical");
transform.Translate(Vector3.up*v*moveSpeed*Time.deltaTime,Space.World);
private SpriteRenderer sr;
public Sprite[] tankSprite; (直接拖到数组里)
sr = GetComponent<SpriteRenderer>();
if (h<0)
{
sr.Sprite = tankSprite[3];
}
else if (h>0)
{
sr.Sprite = tankSprite[1];
}
本章AI人工智能:并非AI,而是随机数
图集与单图区别
Texture Type都一样是Sprite UI 2D
Sprite Mode不一样,图集是多个图片的集合,用的是Multiple,单图用Single
图集剪切成多张小图才可以用
点击Sprite Editor剪辑图集,调整好长度和高度按格子剪辑。
定义一个精灵类型的数组:
private SpriteRenderer sr;
public Sprite[] tankSprites;
精灵
if (h<0)
{
sr.sprite = tankSprites[3];
}else if(h>0 )
{
sr.sprite = tankSprites[1];
}
if (v < 0)
{
sr.sprite = tankSprites[2];
}else if (v>0)
{
sr.sprite = tankSprites[0];
}
帧
碰撞添加,两个关键组件
boxcollider2d 碰撞检测
rigidbody2d 二维刚体
固定物理桢(防抖,按照每帧运行,)
private void FixedUpdate()
pubkic GameObject
Instantiate(explosionPrefab,transform.position,transform.rotation)
Instantiate(transform.position,Quaternion.identity
Destroy(gameObject,0.8f)
xuanran
这届是导入没有什么的主要内容
发生碰撞的两个物体必须都要持有碰撞器
其中之一(运动者最好持有刚体)
经常不运动的情况下,刚体插件容易休眠,休眠之后就不会进行碰撞检测,所以一般放在运动物体之上。
碰撞器分为2D和3D的两种碰撞器
使用Input.GetAxisRaw/GetAxis 来获取在水平和垂直轴上的输入状态(有输入为1没有则为-1)
使用sprite组建来控制目标显示的图形
通过添加Spirte数组来控制图形的改变和显示
不要忘记锁上刚体组件的Z轴(2D游戏)
fixedUpdate (固定物理帧):
电脑与电脑之间每一帧运行的时间不一致,如果在FIXEDUPDATE里执行,每一帧所占用的时间是固定的,FixedUpdate固定在Update之后执行。
当有刚体影响时,最好在FixedUpdate里执行更新,这可以保证每帧的受力均匀