22149人加入学习
(189人评价)
Unity2D 官方入门案例 - Ruby's Adventure

制作完成于2020年5月5日,基于Unity2019.3

价格 免费

Time.deltatime:每一帧占用的时间长度增量(秒)
1s 60帧/59帧/61帧。

update每秒调用60次

[展开全文]

单纯的使用transform组件进行角色的移动控制,当角色身上的RigidyBody组件和别的碰撞器检测碰撞  和  角色本身的通过Transform组件进行移动的脚本会发生冲突,导致角色发生碰撞时闪动

解决方法:直接通过RigidyBody组件提供的MovePosition方法进行移动

[展开全文]

属性不会被暴露在inspector面板

[展开全文]

属性:可以访问但不可修改方法

Ctrl+R+E=自动写属性

public int health{ get{return currentHealth;}}
PS:return 末尾加分号

[展开全文]

来学编程的,直接不画,多简单。

[展开全文]

(gameObject)指代当前脚本挂载对象

!=为不等,==为等于,=为赋值,

[展开全文]

collision(被调用的组件对象).GetComponent<RubyController//>();

[展开全文]

触发检测条件:
1.双方均有(boxcollider)
2.一方为动态且有刚体组件
3.一方为触发器
 

(collider2D collision):collider类型的参数叫做collision

[展开全文]

这岂不是攻击时,碰到敌人,不显示受伤动画?一看就是unity官方游戏玩的少。

[展开全文]

變量設在在public可以在inspector面板看到。

[展开全文]

这里会出错的,当敌人碰到草莓时,会报空指针。

[展开全文]

优先级:void start>inspector>变量声明

[展开全文]

Mathf.Clamp:限制数的边界值(当前,最低,最高);

void没有返回值;只执行代码

 

[展开全文]

class:
{
pubic int maxHealth=5;
private int currenthealth;
}
void start()
{
 current health=maxHealth
}
private void ChangeHealth(int amount)
{
 currentHealth=Mathf.Clamp(current health+amount,0,maxHealth)
}

Clamp方法?

结果输出在控制台:Debug.Log(currentHealth+"/"+maxHealth)

[展开全文]

将smokeEffect的访问修饰符设置为private可以使用GetComponentInChildren<ParticleSystem>()获取

[展开全文]