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

(196评价)
价格: 4019.00元

UniqueKey 是允许为空且允许多个为空,但在不为空的情况下是不允许重复的;

 

[展开全文]
要奇 · 2020-08-12 · 0

主键:Primary Key 

  1. 每行数据必须独一无二的标识
  2. 一个表必须有主键(只能有一个主键)
  3. 不循环为null
  4. 由一列或者多列做成

Unique key 

  1. 表示该项数据不能重复
  2. 运行一条可以为null

外键 Foreign key

  1. 这列数据引用了另外一个表的主键

表的关系

  1. 一对多 OneToOne
  2. 一对多OneToMany
  3. 多对多ManyToMany

 

[展开全文]
要奇 · 2020-08-11 · 0

主键:一个表必须要有主键 ,主键是一个表的唯一标识;

举例:当我们开发游戏的时候,其中的user表中的userName则为一个键值,该值必须唯一且不能为null;

[展开全文]
要奇 · 2020-08-11 · 0

SQL 语句:

是在所有的数据库中都是通用,但是在不同的数据库中的关键字和数据类型上会存在一定的区别;

[展开全文]
要奇 · 2020-08-11 · 0

localhost 、127.0.0.1 都表示本机;

[展开全文]
要奇 · 2020-08-11 · 0

如何在mySql 存储数据:

1,mySql可以创建多个库,dataBase 每个库下面可以创建多个表(表格)table通过表格存储我们的数据

什么是表 Table (表,行,列,格子)表里有表头 表头表示这个表有哪些列,在mySql中需要先定义表头 相当于是什么数据

[展开全文]
要奇 · 2020-08-11 · 0

MySQL Connectors :指的是不同语言中与SQL的交互,而MySQL就是由SQL接口、解析器、优化器、缓存、存储引擎组成的。

MySQL Workbench :相当于一个GUI的记录工具,可以进行可视化的操作

MySQL Server 配置:配置MySQL Server所监听的端口号,用户名及密码 ,

Samples and Examples 配置实例:用于学习的的配置实例;

Config Type: 安装环境配置 ---------Development Machine :开发环境-------------ServerComper: 服务器环境-------

 

MySQL 存在一个默认的超级管家员,

用户命为:Root  ,安装时候设置的密码及为Root用的密码;

MySQL 的安装过程大部分只需要默认安装即可,但相对于其中的超级管理员需要进行密码设置,因为是学习期间 默认设置密码和 账号都为 root 即可;

其中的理论知识只需要对其进行了解,使实践来支持理论知识 ;

 

[展开全文]
要奇 · 2020-08-11 · 0

游戏服务器 GameServer:

??? ???

与上节的webServer 相似

[展开全文]
要奇 · 2020-08-11 · 0

1,正常情况下是无法直接访问数据库服务器的

2,web服务器相当于没有仅做数据处理的计算机,把性能全部集中在处理数据上;

3,负载均衡?

4,关于ip与端口号

  • 什么是ip?
    • 结构:xxx.xxx.xxx.xxx 在我们的网络当中,我们就是通过ip地址来定位我们的网络位置。
    • 当我们访问一个网址的时候就会通过解析这个网址转换为一个ip来进行访问这个网址;
  • 什么是端口号?
    • 0-100000的整数。
    • 当我们的电脑上的某个软件需要跟外界交互的时候就会向我们的操作系统申请一个端口号;
    • 这样当我们在同时运行很多软件的时候就可以很准确的找到这个软件;
[展开全文]
要奇 · 2020-08-11 · 0

小bug:多次加载会重复添加,需要在加载前清理inventory。

[展开全文]
黑夜007 · 2020-08-10 · 0

购买时可能背包满了放不下

public void BuyItem(Item item)
    {
        if (player.ConsumeCoin(item.BuyPrice)==true)
        {
            if (Knapsack.Instance.StoreItem(item)==false)
            {
                player.EarnCoin(item.BuyPrice);
            }
        }
    }

[展开全文]
黑夜007 · 2020-08-09 · 0

角色面板有物品时,可以直接交换位置

public void PutOn(ItemUI itemUI)
    {
        foreach (EquipmentSlot slot in slotsArray)
        {
            if (slot.IsRightItem(itemUI.Item))
            {
                if (slot.transform.childCount > 0)
                {
                    ItemUI currentItemUI = slot.transform.GetChild(0).GetComponent<ItemUI>();
                    itemUI.Exchange(currentItemUI);
                }
                else
                {
                    slot.StoreItem(itemUI.Item);
                    Destroy(itemUI.gameObject);
                }
                InventoryManager.Instance.HideToolTip();
                break;
            }
        }
    }

[展开全文]
黑夜007 · 2020-08-05 · 0

扩展的写法

 

[展开全文]
Dunniwah · 2020-08-05 · 0

物品,讲的太啰嗦了

[展开全文]
高伟程 · 2020-08-03 · 0

事件bool值默认为false

[展开全文]
高伟程 · 2020-08-02 · 0

Tween tween = transform.DOLocalMoveX(300,0.5f)

动画的事件回调:
tween.OnComplete(function)

动画的缓动函数设置

tween.SetEase(Ease.InOutBounce)

 

动画循环次数

tween.SetLoops(-1, LoopType.Incremental)

 

[展开全文]
低调少年 · 2020-07-31 · 0

(1)拖动文件夹等价于拖动 .unitypackage文件

(2)StreamingAssets文件夹中的内容打包时不会放入包中

[展开全文]
低调少年 · 2020-07-31 · 0

2018的Prefab模块被魔改了,老师的这种方式会出现断言错误,可以通过下面的方式进行加载

 [MenuItem("离线数据/生成所有UI离线数据")]
    public static void AllUICreate()
    {
        string[] allPath = AssetDatabase.FindAssets("t:Prefab", new[] { "Assets/GameData/Prefabs/UGUI" });
        for (int i = 0; i < allPath.Length; i++)
        {
            //转明文路径
            string path = AssetDatabase.GUIDToAssetPath(allPath[i]);
            EditorUtility.DisplayProgressBar("生成所有UI离线数据", "Prefab:" + path, i * 1.0f / allPath.Length);
            
            //1.新版获得对象
            GameObject obj = PrefabUtility.LoadPrefabContents(path);

            if (obj == null)
            {
                continue;
            }

            //调用修改数据的方法
            CreateUIData(obj);

            //2.新版本需要保存并释放引用
            PrefabUtility.SaveAsPrefabAsset(obj, path);
            PrefabUtility.UnloadPrefabContents(obj);

        }
        Debug.Log("所有UI离线数据生成成功");
        EditorUtility.ClearProgressBar();
    }

 

[展开全文]
Samsara乄 · 2020-07-27 · 0

一个物体参照  世界坐标 原点  —— 世界坐标

一个物体参照  3d物体   原点 ——  局部坐标

世界坐标  转换  局部坐标  参照 3d物体坐标

局部坐标  转换  世界坐标  参照  世家坐标原点

[展开全文]
Tenglove · 2020-07-16 · 0

 

把012围成一个圈,不管自身玩家在几号位,把它转到下面就行了,保持:1在0的右边,2在1的右边,0在2的右边。

感觉先排序,再判断2是否存在,会更有助于理解,所以我是这样写得:

        public void ResetPostion(int myUserId)
        {
            LeftPlayerId = -1;
            RightPlayerId = -1;
            if (enterOrderUserIdList[0] == myUserId)
            {
                RightPlayerId = enterOrderUserIdList[1];
                if (enterOrderUserIdList.Count == 3) { LeftPlayerId = enterOrderUserIdList[2]; }
            }
            else if (enterOrderUserIdList[1] == myUserId)
            {
                LeftPlayerId = enterOrderUserIdList[0];
                if (enterOrderUserIdList.Count == 3) { RightPlayerId = enterOrderUserIdList[2]; }
            }
            else if (enterOrderUserIdList[2] == myUserId)
            {
                RightPlayerId = enterOrderUserIdList[0];
                if (enterOrderUserIdList.Count == 3) { LeftPlayerId = enterOrderUserIdList[1]; }
            }
        }

[展开全文]
黑与白__ · 2020-07-08 · 0