transform.Translate()的方法第一个参数填的是自身方向,第二个参数必须是space.world
Every object in a scene has a Transform. It's used to store and manipulate the position, rotation and scale of the object.
transform.Translate()的方法第一个参数填的是自身方向,第二个参数必须是space.world
Every object in a scene has a Transform. It's used to store and manipulate the position, rotation and scale of the object.
能检测到碰撞的物体都需要
这老师代码写的真不讲究
子弹攻击在
通过建立访问数组来解决图片方向的问题
1.
碰撞事件,需要有碰撞器,至少有一方是有刚体的,最好是运动的一方
防止抖动方法,FixedUpdate
图集与单图区别
Texture Type都一样是Sprite UI 2D
Sprite Mode不一样,图集是多个图片的集合,用的是Multiple,单图用Single
图集剪切成多张小图才可以用
点击Sprite Editor剪辑图集,调整好长度和高度按格子剪辑。
两个碰撞体
box 2d
private void fixedupdate(){}
public float movespeed=3;
float h=Input.getaxisraw( "horzontal");
transfom.translate(vector3.right*h*movespeed*time.deltatime,space.world);
float v=Input.getaxisraw( "vertical");
transform.translate(vector3.up*v*movespeed*time.deltatime,space.world);
第一次学习时间2018-01-22
Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu |
|
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu |
|
|
|
|
|
2D和3D的旋转角度是相反的。不相同的
碰撞检测的两个必要条件
1、组件身上要有碰撞器
2、其中一方要有刚体(最好是运动的一方)。
原因:刚体长时间不运动会休眠就不会发生碰撞检测。
每一帧受力是相同的,不能发生变化。所以放到物理帧中:FixedUpdate();
代码控制图片移动切换:
private SpriteRenderer sr;
public Sprite[] tankSprite;
private void Awake(){
sr=GetComponent<spriteRenderer>();
}
if(h<0)
{
sr.sprite=tankSprite[3];
}
else if(h>0)
{
sp.sprite=tankSprite[1]
}
移动代码:
void Update(){
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);
}
quaternion.euler(tranform.eulerangles+bullerangles)
euler欧拉角转四元数
sorting layer层级问题
碰撞器的生成
二者都要有碰撞器
其中一方(运动的一方)要有缸体
fixedupdate 物理针
是每一秒受力固定
缸体碰撞受力使物体发生抖动,添加物理针处理
未加物理针
void Update ()
{
float h = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right * h * movespeed * Time.deltaTime, Space.World);
if (h < 0)
{
sr.sprite = tanksprite[3];
}
else if (h > 0)
{
sr.sprite = tanksprite[1];
}
float v = Input.GetAxisRaw("Vertical");
transform.Translate(Vector3.up * v * movespeed * Time.deltaTime, Space.World);
if (v < 0)
{
sr.sprite = tanksprite[2];
}
else if (v > 0)
{
sr.sprite = tanksprite[0];
}
}
添加物理针
private void FixedUpdate()
{
float h = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right * h * movespeed * Time.fixedDeltaTime, Space.World);
if (h < 0)
{
sr.sprite = tanksprite[3];
}
else if (h > 0)
{
sr.sprite = tanksprite[1];
}
float v = Input.GetAxisRaw("Vertical");
transform.Translate(Vector3.up * v * movespeed * Time.fixedDeltaTime, Space.World);
if (v < 0)
{
sr.sprite = tanksprite[2];
}
else if (v > 0)
{
sr.sprite = tanksprite[0];
}
}
order in player 覆盖图片