- 博客(22)
- 收藏
- 关注
原创 Android Studio开发 —— 界面布局
Android Studio 界面布局Android 所有的元素都是通过 View 与 ViewGroup 构建的 ViewGroup 作为容器承载界面的控件 它可以包含 View 控件 也可以包含 ViewGroup常用布局RelativeLayout 相对布局 *LinearLayout 线性布局 *FrameLayout 帧布局TableLayout 表格布局ConstraintLayout 约束布局根节点布局 xmlns//
2021-05-17 14:17:00
1405
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
1422
原创 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
1440
2
原创 Unity设计模式——单例模式与单例框架
平常在我们的项目中 经常会需要用到 xxxManager 诸如此类的管理类 此时我们则需要有一个单例类来进行相对应的管理普通的单例类我们一般这样来创建public class SingleTon : MonoBehaviour{ private static SingleTon Instance = null; //防止外界New private SingleTon() { } private void Awake() { .
2021-03-31 14:42:35
370
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
266
原创 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
237
原创 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
152
原创 Python文件对象的常用方法
方法名说明read([size])从文件中读取size个字节或字符的内容放回。若省略[size],则读取到文件的末尾,即一次读取文件所有内容readline()从文本文件中读取一行内容readlines()把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回write(str)将字符串str内容写入文件writelines(s_list)将字符串列表s_list写入文本文件,不添加换行符seek(offset[,whence])把文...
2020-11-24 16:47:29
449
原创 Python常用的文件打开模式
打开模式描述r以只读的模式打开文件,文件的指针会放在文件的开头w以只写模式打开文件,如果文件不存在则创建,如果文件存在,则覆盖原有内容,文件指针在文件的开头a以追加的模式打开文件,如果文件不存在则创建,文件指针在文件开头,如果文件存在,则在文件末尾追加内容,文件指针在原文件末尾b以二进制方式打开文件,不能单独使用,需要与其他模式一起使用,rb,或者 wb+以读写方式打开文件,不能单独使用,需要与其他模式一起使用,a+'''file=open('te...
2020-11-24 16:32:13
492
原创 Python中特殊方法 与 特殊属性
名称描述特殊属性__ dict __获得类对象或实例对象所绑定的所有属性和方法的字典特殊方法__ len__()通过重写__len__() 方法,让内置函数len()的参数可以是自定义类型__ add__()通过重写__add()__方法,可使用自定义对象具有“+”的功能__ new__()用于创建对象__ init__()对创建的对象进行初始化...
2020-11-24 10:51:29
287
原创 Python中字符串常用的操作
Python字符串查询方法API功能描述index()查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出ValueErrorrindex()查找子串substr最后一次出现的位置,如果查找的子串不存在时,则抛出ValueErrorfind()查找子串substr第一次出现的位置,如果查找的子串不存在时,则返回-1(不会抛异常)rfind()查找子串substr最后一次出现的位置,如果查找的子串不存在时,则返回-1(不会抛异常)Pytho
2020-11-20 14:21:10
170
原创 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
151
原创 Unity游戏中常用的设计模式——策略模式
策略模式 策略模式: 它定义了算法家族,分别封装起来,让它们之间可以互相替换, 策略模式让算法的变化,不会影响到使用算法的客户。//抽象算法类 策略类public abstract class Strategy{ //算法方法 public abstract void AlgorithmInterface();}//具体算法Apublic class ConcreteStrategyA : Strategy{ //算法A实现 public override void
2020-08-24 15:37:50
440
原创 Unity游戏中常用的设计模式——状态模式
状态模式 unity 开发中 我们近乎经常会编写一些状态流转的代码 如: 游戏的开始 进行中 结束 怪物的 idle run attack 等等 诸如此类的状态有许多复杂的状态流转 我们则会使用FSM有限状态机来管理 简单的状态我们会使用状态模式 或者switch case 来 case 不同的状态 从而编写不同的状态对应的状态逻辑 swich case 的确可以使用 但代码代码都写在一起太乱 难以阅读与维护 不如使用简单的 状态模式 通过接口的实现类来
2020-08-20 16:52:07
595
原创 Unity3D 中常用的向量运算
Unity3D 中常用的向量运算那么接下来来看一看在游戏开发过程中常用的一些向量运算向量的叉积 / 叉乘叉积的定义(cross product) 叉积的计算结果依然是一个向量,叉积只能用于3D向量的运算,2D向量没有叉积 。 通过对两个3D向量 U 和 V 来计算叉积 我们则可以得到一个新的向量 向量 W 结果向量 W 同时垂直于 U 与 V 向量众所周知 在Unity3d 引擎中遵循左手坐标系左手拇指法则 抬起左手,将拇指之外的其他四个手指指向 第一个 向量的方
2020-08-14 17:51:43
908
原创 Unity游戏开发中几种常用的攻击判定
众所周知,在Unity开发中我们避免不了要计算一些物体与物体之间的距离 亦或是 检测玩家发出的技能是否攻击到了我们需要攻击的目标 Unity 内部也提供给我们了一些非常简单的实用组件 Collider 包围盒 勾选包围盒身上的 isTigger则就变为一个触发器 与其相配合使用的组件就是 rigidbody 刚体组件 在Unity引擎中 两个物体如果想要去检测碰撞 触发 的必要条件就是 两个物体都要有Collider 并且至少其中一个物体的身上要具备 rigidBody 刚体组件 它们才可以使用Un
2020-06-29 15:39:06
7685
原创 Unity-判断检测鼠标点击的物体是否被UI遮挡的两种方式
第一种 这个API android 平台不太好使 EventSystem.current.IsPointerOverGameObject() if (EventSystem.current.IsPointerOverGameObject()) { //上面有UI 执行UI的行为 不在执行下面的行为 return; } 第二种此种方法适用所有平台 可以检测出鼠标指针是否被UI遮挡 /// <summary> /// 传入
2020-06-22 17:11:38
2417
原创 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
2322
原创 Unity-AssetBundle资源标记标签的两种策略
AssetBundle的几种压缩方式BuildAssetBundleOptions的几种类型的介绍.None 构建AssetBundle没有任何特殊选项 .UncompressedAssetBundle 不进行数据压缩 如果使用该项 因为没有压缩/解压缩的过程 AB的发布和加载会很快 但是 AB也会很大 导致下载变慢 .CollectDependencies 包含所有依赖关系 .CompleteAssets 强制包括整个资源 .DisableWriteTypeTree 在
2020-06-22 16:52:57
1723
转载 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
4431
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人