Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(196评价)
价格: 4049.00元

用File.ReadAllText方式加载Lua文件时,Lua文件的后缀名可以直接是*.lua。方便在其他编辑器中,高亮代码关键字

[展开全文]
月华独舞 · 2019-07-18 · 0

攻击角度计算

[展开全文]
提莫队长 · 2019-08-01 · 0

创建配置文件不能直接new,需要使用

GameObjectPoolList poolList=ScriptableObject.CreateInstance<GameObjectPoolList>();

来创建

AssetDatabase.CreateAsset(pooList,"Assets/Framework/Resources/gameobjectpool.asset");
AssetDatabase.SaveAsset();

将配置文件保存至xxxx路径,使用saveAsset方法保存

[展开全文]
风旅人 · 2020-01-03 · 0

token是方便客户端下次自动登录用的。本次登录成功后,服务器会给客户端一个新token。

loginDate可以用于判断下次自动登录时,token是否过期,本项目没有用到。

[展开全文]
lsw5530 · 2020-03-01 · 0

调试工具

 

2种方法。

1:将颜色在顶点着色器 或 片元着色器 中 输出出去,来验证效果。

2: 使用 Frame Debug

(Window-Analysis-Frame Debugger)

Enable:理解为截屏

 

顶点色在Shader中的体现

例子:

o.color = v.color;

 

[展开全文]
pilishen000 · 2021-10-26 · 0

两个摄像机融合,天空和马路融合

[展开全文]
exhitec · 2022-04-12 · 0

简单的来说就是把Prefabs拖拉到场景中 没了

[展开全文]
kira43216987 · 2019-10-29 · 0

ExecuteReturnIdentity()可以获取影响行的主键值。

[展开全文]
lsw5530 · 2020-03-01 · 0
 GameObject obj = Instantiate(assetBundle.LoadAsset<GameObject>("Attack.prefab"));

 GameObject obj2 = Instantiate(assetBundle.LoadAsset<GameObject>("Attack"));

后缀可加可不加,主要prefab中p小写

[展开全文]
流星online · 2020-04-23 · 0

合批就是把能够合并的mesh合并到一起,可以降低drawcall的数量

[展开全文]
微尘追风 · 2021-01-11 · 0

ReactiveX是什么?

设X是一个类型,

我们可以观察一个类型的实例x,

设该实例随时间变化的状态为x1,x2,...xn,

则构成一个序列:

x1,x2,...,xn

定义为一个流,

名为ReactiveX

如此,观察x的变化,

就转化为对流ReactiveX进行操作。

x--observe->ReactiveX

 

 

Subscirbe 订阅一个流

First 得到x1

...

同理,一个系统,或其某一部分的状态,

可以定义为X,

则我们可以通过ReactiveX观察系统或

其某一部分的状态变化,

流可以声明,

流是对系统状态变化所做响应的声明,

这就是声明式编程,相对的概念是过程式编程。

在声明式编程中,变量被看成一个流,在过程式编程中,变量被看成是一个在任何给定时刻的一个特定状态。因为状态是变化的,所以你的代码就得造成变化,判断变化,操作变化。

在声明式编程中,变量被看成一个流,好吧,当时间变化时,它还是一个流。你只需要说,我要流里面的第一个,我要按第一个的值加1,得到一个新东西y,再把y的值放到另一个流里面,比如。这种对流的操作可以规范化,模型也比较直观,避免了每次都从x写起。我们lifted了,提升了,变成ReactiveX了。

设系统的全部类型的集合为setX,

对其中的每个元素进行Reactive化,

我们可以得到集合Reactive-setX,

该Reactive-setX是类型集合setX的

流操作描述。

根据需要,流还可以组合,过滤啥的。

因此,可以建立起一个系统的流层:

system

gamobject

comonents

stream layer (reactived)

discreate types

 

[展开全文]
roger.ruo · 2022-01-22 · 0

重复的代码做成工具。

[展开全文]
chenxiangren · 2016-10-01 · 0

需要从NuGet安装MySql.data ,用于连接数据库。

[展开全文]
lsw5530 · 2020-03-01 · 0

1、移动状态和攻击状态切换

距离判断:Vector3.Distance(transform.position, target.transition.position)

停止移动导航:meshNav.enabled = false

状态切换:Animator.SetBool("Attacking",true)

2、Target 切换

如果角色是敌人,则默认目标是玩家的塔

如果角色是玩家,则默认目标是敌人的塔

[展开全文]
spec90 · 2021-06-06 · 0

Context 环境 进行绑定。

dispatcher 派发器

[展开全文]
chenxiangren · 2016-10-01 · 0

射线部分的检测判定流程:

1,显示器

2,检查相机显示范围

3,判断射线距离

4,判断UI深度,UI的响应事件开关,UI graphic的剔除

5,射线是否在rectTransform范围内,

6,物体是否超出相机的最远切面,

7,对检测到的物体根据深度排序

[展开全文]
失落d枪骑兵 · 2019-09-10 · 0

被一个棋子攻击也是-delta*2,被两个棋子攻击,也是delta*2?

[展开全文]
emiyou · 2019-11-12 · 0

验证码Code暂时用不到。

[展开全文]
lsw5530 · 2020-03-01 · 0

解决UI和3D物体同时响应的问题。

在ColliderUI代码里面加上:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class ColliderUI : MonoBehaviour ,IPointerClickHandler{

    private int _index;
	// Use this for initialization
	void Start () {
		
	}

    public void ChangeColor()
    {
        if (_index == 0)
        {
            GetComponent<Image>().color = Color.blue;
        }
        else {
            GetComponent<Image>().color = Color.white;
        }
        _index = _index == 0 ? 1 : 0;
    }

public void OnPointerClick(PointerEventData eventData)
{
 	ChangeColor();
   // ExecuteAll(eventData);
}

public void ExecuteAll(PointerEventData eventData) {
    List<RaycastResult> results = new List<RaycastResult>();
    EventSystem.current.RaycastAll(eventData, results);
    foreach (RaycastResult result in results) {
        if (result.gameObject != gameObject)
        {
            ExecuteEvents.Execute(result.gameObject, eventData, ExecuteEvents.pointerClickHandler);
        }
    }
}
}

 

[展开全文]
wang1130 · 2021-04-03 · 0