- 博客(22)
- 收藏
- 关注
原创 Android Studio开发 —— 界面布局
Android Studio 界面布局 Android 所有的元素都是通过 View 与 ViewGroup 构建的 ViewGroup 作为容器承载界面的控件 它可以包含 View 控件 也可以包含 ViewGroup 常用布局 RelativeLayout 相对布局 * LinearLayout 线性布局 * FrameLayout 帧布局 TableLayout 表格布局 ConstraintLayout 约束布局 根节点布局 xmlns //
2021-05-17 14:17:00
1475
2
原创 Unity 获取ShaderGraph中的公有变量在C#代码中使用
如何获取下图中ShaderGraph的变量 在C#代码中使用 在材质球挂载的物体上 获取此材质球 Material meshRenderer_mat; private void Awake() { meshRenderer_mat = transform.GetComponent<MeshRenderer>().material; meshRenderer_mat.SetInt("CreatMachineTime", 5); } // 完成 ! 注意看 Mode 的类型 I.
2021-04-13 17:09:56
1530
原创 Unity 发布WebGL C#与Js互相通信 新版
我们在做UnityForWebGL的项目时 经常会遇到 Unity需要传递消息给Js 或者 Js 发送消息给Unity 下面是新版Unity 2019 与 Js 通信的方法 Unity 调用 Js 第一步 创建一个文本文件 将后缀名改为 .jslib (文件名随意) 例: 随后我们在文件中写入 C#将要调用的函数名字 与 Js 将要调用的函数名字 mergeInto(LibraryManager.library, { //注意 这里的 Cat 是在 C# 中需要引入和调用的 Cat :.
2021-04-02 16:03:54
1549
2
原创 Unity设计模式——单例模式与单例框架
平常在我们的项目中 经常会需要用到 xxxManager 诸如此类的管理类 此时我们则需要有一个单例类来进行相对应的管理 普通的单例类我们一般这样来创建 public class SingleTon : MonoBehaviour { private static SingleTon Instance = null; //防止外界New private SingleTon() { } private void Awake() { .
2021-03-31 14:42:35
450
1
原创 Unity使用XML 序列化类对象
首先 我们需创建一个可以被序列化的类 using System.Xml.Serialization; [System.Serializable] public class TestXmlSerialize { //使用标签 节点属性 [XmlAttribute("Id")] public int Id{get;set;} [XmlAttribute("Name")] public string Name{get; set;} //使用这个标签 外面不会在包一层标签 .
2020-12-31 15:45:03
305
原创 Python os模块目录操作相关函数API
函数 说明 getcwd() 返回当前的工作目录 listdir(path) 返回指定路径下的文件和目录信息 mkdir(path[,mode]) 创建目录 makedirs(path1/path2…[,mode]) 创建多级目录 rmdir(path) 删除目录 removedirs(path1/path2…) 删除多级目录 chdir(path) 将path设置为当前工作目录 ...
2020-11-24 18:09:21
294
原创 Python上下文管理器是什么?
class MyContentMgr(object): def __enter__(self): print('enter 方法被调用执行了') return self def __exit__(self, exc_type, exc_val, exc_tb): print('exit 方法被调用执行了') return self def show(self): print('show 方法被执行了'
2020-11-24 17:04:00
193
原创 Python文件对象的常用方法
方法名 说明 read([size]) 从文件中读取size个字节或字符的内容放回。若省略[size],则读取到文件的末尾,即一次读取文件所有内容 readline() 从文本文件中读取一行内容 readlines() 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回 write(str) 将字符串str内容写入文件 writelines(s_list) 将字符串列表s_list写入文本文件,不添加换行符 seek(offset[,whence]) 把文...
2020-11-24 16:47:29
509
原创 Python常用的文件打开模式
打开模式 描述 r 以只读的模式打开文件,文件的指针会放在文件的开头 w 以只写模式打开文件,如果文件不存在则创建,如果文件存在,则覆盖原有内容,文件指针在文件的开头 a 以追加的模式打开文件,如果文件不存在则创建,文件指针在文件开头,如果文件存在,则在文件末尾追加内容,文件指针在原文件末尾 b 以二进制方式打开文件,不能单独使用,需要与其他模式一起使用,rb,或者 wb + 以读写方式打开文件,不能单独使用,需要与其他模式一起使用,a+ '''file=open('te...
2020-11-24 16:32:13
612
原创 Python中特殊方法 与 特殊属性
名称 描述 特殊属性 __ dict __ 获得类对象或实例对象所绑定的所有属性和方法的字典 特殊方法 __ len__() 通过重写__len__() 方法,让内置函数len()的参数可以是自定义类型 __ add__() 通过重写__add()__方法,可使用自定义对象具有“+”的功能 __ new__() 用于创建对象 __ init__() 对创建的对象进行初始化 ...
2020-11-24 10:51:29
332
原创 Python中字符串常用的操作
Python字符串查询方法 API 功能描述 index() 查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出ValueError rindex() 查找子串substr最后一次出现的位置,如果查找的子串不存在时,则抛出ValueError find() 查找子串substr第一次出现的位置,如果查找的子串不存在时,则返回-1(不会抛异常) rfind() 查找子串substr最后一次出现的位置,如果查找的子串不存在时,则返回-1(不会抛异常) Pytho
2020-11-20 14:21:10
203
原创 C语言学习——指针浅析
C语言——指针 变量名 就是内存地址的别名 int * 是一个变量类型 与 int double float 一样 #我们来打印一下变量 a 的地址 #include<stdio.h> #include<stdlib.h> void main(){ int a = 1; //变量 a 就是输出的内存地址的别名 //打印地址用 %x 或 %p 都可以 printf("%p",&a); } 指针的基本语法 *号 与 & 号的含义 &号:取地址运算符 ,&
2020-11-06 09:56:55
191
原创 Unity游戏中常用的设计模式——策略模式
策略模式 策略模式: 它定义了算法家族,分别封装起来,让它们之间可以互相替换, 策略模式让算法的变化,不会影响到使用算法的客户。 //抽象算法类 策略类 public abstract class Strategy { //算法方法 public abstract void AlgorithmInterface(); } //具体算法A public class ConcreteStrategyA : Strategy { //算法A实现 public override void
2020-08-24 15:37:50
516
原创 Unity游戏中常用的设计模式——状态模式
状态模式 unity 开发中 我们近乎经常会编写一些状态流转的代码 如: 游戏的开始 进行中 结束 怪物的 idle run attack 等等 诸如此类的状态有许多复杂的状态流转 我们则会使用FSM有限状态机来管理 简单的状态我们会使用状态模式 或者switch case 来 case 不同的状态 从而编写不同的状态对应的状态逻辑 swich case 的确可以使用 但代码代码都写在一起太乱 难以阅读与维护 不如使用简单的 状态模式 通过接口的实现类来
2020-08-20 16:52:07
670
原创 Unity3D 中常用的向量运算
Unity3D 中常用的向量运算 那么接下来来看一看在游戏开发过程中常用的一些向量运算 向量的叉积 / 叉乘 叉积的定义(cross product) 叉积的计算结果依然是一个向量,叉积只能用于3D向量的运算,2D向量没有叉积 。 通过对两个3D向量 U 和 V 来计算叉积 我们则可以得到一个新的向量 向量 W 结果向量 W 同时垂直于 U 与 V 向量 众所周知 在Unity3d 引擎中遵循左手坐标系 左手拇指法则 抬起左手,将拇指之外的其他四个手指指向 第一个 向量的方
2020-08-14 17:51:43
1011
原创 Unity游戏开发中几种常用的攻击判定
众所周知,在Unity开发中我们避免不了要计算一些物体与物体之间的距离 亦或是 检测玩家发出的技能是否攻击到了我们需要攻击的目标 Unity 内部也提供给我们了一些非常简单的实用组件 Collider 包围盒 勾选包围盒身上的 isTigger则就变为一个触发器 与其相配合使用的组件就是 rigidbody 刚体组件 在Unity引擎中 两个物体如果想要去检测碰撞 触发 的必要条件就是 两个物体都要有Collider 并且至少其中一个物体的身上要具备 rigidBody 刚体组件 它们才可以使用Un
2020-06-29 15:39:06
7928
原创 Unity-判断检测鼠标点击的物体是否被UI遮挡的两种方式
第一种 这个API android 平台不太好使 EventSystem.current.IsPointerOverGameObject() if (EventSystem.current.IsPointerOverGameObject()) { //上面有UI 执行UI的行为 不在执行下面的行为 return; } 第二种 此种方法适用所有平台 可以检测出鼠标指针是否被UI遮挡 /// <summary> /// 传入
2020-06-22 17:11:38
2522
原创 Unity-控制HDR渲染管线下HDRColor调色板
获取高清渲染管线HDR 材质球上的Emissive Color 值 并变换自发光强度 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; //渲染管线HDR //材质球选取渲染shader 为 HDRenderPipeline/Lit //需要配合相机后处理插件 Progress value //此脚本可控制 HDR/Lit 材质球上的 Emissive Inputs 上面
2020-06-22 17:03:09
2428
原创 Unity-AssetBundle资源标记标签的两种策略
AssetBundle的几种压缩方式 BuildAssetBundleOptions的几种类型的介绍 .None 构建AssetBundle没有任何特殊选项 .UncompressedAssetBundle 不进行数据压缩 如果使用该项 因为没有压缩/解压缩的过程 AB的发布和加载会很快 但是 AB也会很大 导致下载变慢 .CollectDependencies 包含所有依赖关系 .CompleteAssets 强制包括整个资源 .DisableWriteTypeTree 在
2020-06-22 16:52:57
1852
转载 Unity UGUI中RawImage组件身上的Texture转byte[] 无论图片源是否可读
Unity Texture2D转byte[] 将Unity UGUI中RawImage组件身上的Texture转换为我们想要的字节数组 指定格式 将Unity UGUI中RawImage组件身上的Texture转换为我们想要的字节数组 指定格式 public RawImage rawImage; Texture2D texture2D; void Start() {...
2019-05-11 00:15:57
4550
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅