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

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

价格 免费

找不到tile,去packagemanager去搜索一下就OK了

[展开全文]

刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动

任何游戏对象只有添加了刚体组件才能受到重力的影响

[展开全文]

刚体:物理演算的的组件,碰撞只是其中之一

[展开全文]

ctrl+k+c:注释掉

ctrl+k+u:解除注释

[展开全文]

动画制作组件(Animator):

游戏对象动态效果的控制和创建

动画控制器(Animator Controller):

据游戏状态播放不同动画---状态机

window-animation-

动画(Animation):

可以由动画控制器,代码进行播放,是一种组件。

 

[展开全文]

属性不会暴露在面板中

[展开全文]

两者之一是触发器,运动方是刚体,两者都有box collider 2D组件

 

private void OntriggerEnter2D(Collider2D collision)
    {
        Debug.Log("与我们发生碰撞的对象是:" + collision);
    }

 

此方法与start,update一样,会自动调用,只要发生触发检测

[展开全文]

顺序赋值:start方法最后发生,变量声明时最先发生,inspector中间顺序发生

 

触发器:碰到自己消失

[展开全文]

 currentHealth = Mathf.Clamp(currentHealth + amount, 0, maxHealth);
        //把血量限制在一定范围内。 

[展开全文]

//protected(受保护的)--派生类或子类中使用

 

void Update()//c#中未写访问修饰级别默认为private

 

private void ChangeHealth(int amount)//改变生命值,增加或减少 //void为返回值类型,此处为无返回值。//方法加(),内部放参数

 

[展开全文]

public int maxHealth = 5;//最大生命值
    private int currentHealth;//Ruby的当前生命值(可变)

 

currentHealth = maxHealth; 
 

 private void ChangeHealth(int amount)//改变生命值,增加或减少
    {
        currentHealth = Mathf.Clamp(currentHealth + amount, 0, maxHealth);
        Debug.Log(currentHealth + "/" + maxHealth);
    }

[展开全文]

没找到照片collider type,没学会

[展开全文]

float vertical = Input.GetAxis("Vertical");//静态方法:类名.方法名---没有实例,不知道是谁的方法,但可以全局访问--即任意脚本都可应用;普通(成员变量)方法:对象名.方法名(实参)

 

rigidbody2d.MovePosition(position);//调用并传递参数,rigidbody2d是可找到的实例----普通方法(有实例,可调用)

 

使用刚体移动(物理系统)----不会抖动

[展开全文]

物理系统(刚体组件)控制位移方法与我们编写的代码方法产生冲突

private Rigidbody2D rigidbody2d;//rigidbody2d为定义名字不能与Rigidbody2D(类型)一致

C#区分大小写

rigidbody2d = GetComponent<Rigidbody2D>();//GetComponent为获取组件方法(得有才能获取。Rigidbody2D为组件

 

[展开全文]

composite collider 2D

tilemap collider 2D

[展开全文]

auto tiling 碰撞器自适应放大缩小

[展开全文]

composite 组件 可以融合tilemap collider 2d的碰撞器

[展开全文]