路漫漫其修远兮,吾将上下而求索

再也不牛b了
私信 关注
皮皮陶
码龄4年
  • 22,357
    被访问量
  • 33
    原创文章
  • 184,746
    作者排名
  • 7
    粉丝数量
  • 于 2017-01-04 加入CSDN
获得成就
  • 获得10次点赞
  • 内容获得6次评论
  • 获得35次收藏
荣誉勋章
TA的专栏
  • Android
    3篇
  • XCode
    3篇
  • ios
    3篇
  • 收藏教程
  • 收藏网址
  • Unity遇到的问题
    4篇
  • Unity工具
    3篇
  • Unity编辑器扩展
    2篇
  • Cocos Creator
    7篇
  • unity
    18篇
  • FGUI
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

xcode 混淆工具

xcode oc代码混淆
zip
发布资源于 2 月前

Cocos Creator 微信登录授权按钮适配

步骤1.适配不同机型来创建微信授权按钮(可自定义 具体看微信API文档)2.通过getSetting检查是否有授权过3.有授权则会有scope.userInfo字段,可直接通过getUserInfo获取用户信息,否则获取信息失败,注意:openid等隐私数据需要解密获得,或者通过外部自主服务器的接口获得,因为微信小游戏不允许访问带api.weixin.com域名的接口4.通过createUserInfoButton创建一个授权按钮,点击按钮会弹窗授权5.onTap注入点击事件setAuthBtn
原创
67阅读
0评论
0点赞
发布博客于 3 月前

Android包在有些机型上无法安装以及闪退崩溃问题

cup架构问题1.不管是Cos creator还是Unity在打包的时候,都可以进行cpu架构选择,安装包里面缺少对应.so文件则会导致机器闪退2.我们可以解压Apk,然后找到lib文件夹这里需要保持这些文件夹里面的.so结构目录一致,否则在对应平台下会崩溃。注意:这里要注意接入sdk或者引入第三方的arr包时,可能第三方arr包里面带有部分.so文件,最后拷贝.so文件到对应各个平台目录下时可能会出现有些目录下.so文件数量目录结构对不上的情况这个时候我们只需要设置gradle中的jniLib
原创
90阅读
0评论
0点赞
发布博客于 3 月前

Android签名包调试问题

签名1.打包带签名的包时会有个V1,V2的签名选择,只签名V2的话会导致有些设备或者模拟器无法安装,且无法查看apk的证书MD52.build.gradle签名配置 signingConfigs { release { if (project.hasProperty("RELEASE_STORE_FILE")) { storeFile file(RELEASE_STORE_FILE) storePa
原创
46阅读
0评论
0点赞
发布博客于 3 月前

Android微信登录WXEntryActivity无响应

Android微信登录官方文档:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/Android.html问题按照文档要求接入,发送一个SendAuth的消息,能够拉起第三方微信,但会返回AppActivity的时候并有回调onResp,并且WXEntryActivity也没有响应解决1.在你的包名相应目录下新建一个 wxapi 目录,并在该 wxapi 目录下新增一个 WXEntryActivity 类,
原创
87阅读
0评论
0点赞
发布博客于 3 月前

ios 证书验证

说明这里我们所访问的是微信支付下的企业付款到零钱接口,该接口需要单向认证,我们需要从微信商户后台下载需要的证书(.p12格式),然后将证书拖入工程中即可注意:证书内嵌到app内是不安全的,这里只是演示,实际开发证书应该放服务器(.pm格式)思路首先第一步我们需要发起请求,然后这只请求代理,在代理中读取本地证书验证。请求NSMutableURLRequest *request=[[NSMutableURLRequest alloc]init]; [request setURL:[NSURL
原创
132阅读
0评论
0点赞
发布博客于 4 月前

Cocos creator获取最顶上的窗口rootViewController(ios工程上获取)

UIViewController* ctrol; if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0) { // warning: addSubView doesn't work on iOS6 NSArray* array=[[UIApplication sharedApplication]windows]; UIWindow* .
原创
51阅读
0评论
0点赞
发布博客于 5 月前

Cocos Creator与ios交互通信(object-c 与js交互)

Cocos Creator与xcode交互首先,从Cocos Creator打出xcode工程iOS 平台上使用 Javascript 直接调用 Objective-C 方法cocos creator 官方文档:https://docs.cocos.com/creator/manual/zh/advanced-topics/oc-reflection.html使用 Creator 打包的 iOS / Mac 原生应用中,我们也提供了在 iOS 和 Mac 上 JavaScript 通过原生语言
原创
543阅读
0评论
0点赞
发布博客于 5 月前

UGUI获取自适应UI元素的宽高

对于使用了layout的布局元素来说,并不能直接通过rectTransfrom来获取搞元素的weight和height不过Unity中有对应API可以帮助我们获取通过LayoutUtility中的静态方法我们可以获取对应的一些信息GetFlexibleHeight 返回布局元素的灵活高度。GetFlexibleSize 返回布局元素的灵活大小。GetFlexibleWidth 返回布局元素的灵活宽度。GetLayoutProperty 使用给定的RectTransform获取布局元素的计算
原创
445阅读
0评论
0点赞
发布博客于 8 月前

UGUI粒子与UI叠加状态(粒子与UI渲染顺序)

游戏开发中不免要在两个UI元素之间插入一个粒子特效(Partice Sysrtem),使我们的粒子处于两个UI元素中间。实现方案11.通过设置Canvas层级和粒子渲染层级达到效果如图,粒子夹在ImageA和ImageB中间这里实现方式有很多种1.ImageA和ImageB处于两个不同渲染层的Canvas两个Canvas的RenderMode使用相机模式(Screen Space-Camera)A的Canvas渲染层级为10,B为0然后粒子特效的RenderOrder为0-10之间即能
原创
207阅读
0评论
0点赞
发布博客于 8 月前

UGUI粒子遮罩(UI Mask 遮挡粒子)

前言在Unity中UGUI的Mask遮罩无法对Partice System(粒子)起到直接的作用,于是这里我们使用Shader来实现UI Mask对粒子的遮罩效果。关于粒子显示在同一层两个不同UI之间叠加的问题:实现方案首先使用一张image图片,添加mask遮罩,这张图片默认使用的是UI/Default的shader,这里我们替换成UI/MaskDefault的shader,这里贴出源码:// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' wit
原创
1120阅读
1评论
2点赞
发布博客于 8 月前

Unity Android il2cpp 编译报错解决

问题在Unity中将Playersetting下的Scripting Backend的Mono切换成IL2CPP,然后导出Anbdroid工程出现一长串报错提示。Failed running C:\Program Files\Unity\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compil
原创
673阅读
0评论
0点赞
发布博客于 8 月前

Unity与Xcode交互基础

准备首先我们从Unity中Build出Xcode工程,然后打开工程,在工程中找到UnityAppController.mm文件生命周期UnityAppController实现了UIApplicationDelegate中的生命周期函数,这里了解一下:application:didFinishLaunchingWithOptions: 这是程序启动时调用的函数。applicationDidBecomeActive: 应用在准备进入前台运行时执行的函数。applicationWillResig
原创
156阅读
0评论
0点赞
发布博客于 9 月前

Unity长按按钮的实现

实现通过派生Button类以及实现 IPointerDownHandler, IPointerUpHandler接口,我们只需要在按钮按下时添加一个长按开关,和一个计时器,长按到达指定时间进行持续触发即可using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;/// <summary>
原创
206阅读
0评论
0点赞
发布博客于 9 月前

Unity字体间距控制

原理在Unity中一个字符(无论中英文)是由6个顶点组成,即,一个正三角形和一个倒三角形组成,其中有两个顶点重合,我们可以通过对每个字的顶点进行一定偏移从而达到字体与字体间距的控制。Unity中有个BaseMeshEffect类,可以实现对其ModifyMesh方法的重写来控制,类似的有,Unity的OutLine和Shadow特效即是该类的派生类using System.Collections;using System.Collections.Generic;using UnityEngine;
原创
135阅读
0评论
0点赞
发布博客于 9 月前

Unity超大浮点数(无上限)

需求对于模拟经营的数值游戏来说,为了能让策划实现超大数据的配置,C#的基础类型已经远远无法满足策划的需求了,C#中也提供了超大整数类型(BigInteger),但是该类型会丢失浮点类型中的精度,导致我们不得不另辟蹊径.解决方案1.在GitHub上有一个类似的解决方案,我给改了改using System;using System.Numerics;using System.Text;using System.Collections.Generic;using System.Linq;usin
原创
119阅读
0评论
0点赞
发布博客于 9 月前

UnityWebRequest进行http/https请求出现问题

**问题在编辑器中使用UnityWebRequest的API可以正常访问http的网址,打包出来发现有的Android手机可以正常访问,而有的Android机则无法正常访问。原因在Android P系统(Android API >= 28)的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同样地,如果应用嵌套了webview,webview也只能使用https请求。Google表示,为保证用户数据和设备的安全,针对下一代 A
原创
1127阅读
1评论
0点赞
发布博客于 9 月前

Unity新手引导

介绍这里要介绍的是通过着色器(Shader)来实现高亮某一UI效果先看效果一个圆形范围高亮显示,一个矩形范围显示圆形这里先上C#代码,后面会给出Shader的代码/// <summary>/// 圆形遮罩镂空引导/// </summary>public class CircleGuidanceController : MonoBeha...
原创
481阅读
1评论
1点赞
发布博客于 1 年前

Unity扩展Transfrom组件查找子孙物体

扩展方法1.扩展方法必须是静态方法,其所在的类也必须是静态的2.扩展方法的第一个参数为需要扩展的类型,且必须带有this关键字扩展Transfrom组件查找子孙物体通过递归查找根节点下的子物体或者孙物体或者兄弟物体/// <summary> /// 递归查找物体的子物体 /// 返回名字为name的物体,有相同名字的则返回第一个 ///...
原创
125阅读
0评论
0点赞
发布博客于 2 年前

Unity加载AB包出现材质(Shader)丢失的问题

问题在项目中打包发布AB包的时候,当我对某个资源的材质修改的时候(例如:替换了某种Shader渲染时),发现这个时候加载出来的模型资源出现了材质丢失的情况,起初,我以为是模型材质的引用问题,于是,我又把材质单独提取成一个AB包,并在加载模型之前加载出来,最后发现并没有什么用,本以为是AB包的分组策略问题导致材质的丢失,最后发现问题居然是打包AB包的时候没有把修改后资源的Shader加入到Uni...
原创
2171阅读
0评论
0点赞
发布博客于 2 年前

Unity编辑器扩展之Excel表数据序列化成文本并读取

前言接着上一篇写Excel表数据序列化成文本这里直接上代码了 [MenuItem("Component/Excel表数据写入文本")] public static void Serlize() { string[] paths = FileTools.GetAllFiles(AssetData.AssetExcelToJsonOutPutPat...
原创
117阅读
0评论
1点赞
发布博客于 2 年前

Unity编辑器扩展之Excel表转CS文件(C#类)

前言这里我们需要理解动态生成CS文件的一些基础:https://blog.csdn.net/qq_37254346/article/details/103216761怎样读取Excel表这里就不说了。Excel表转CS文件这是我们需要转的Excel表这是转换后的CS文件思路:首先读取到的Excel表第一行作为字段名,第三行是数据类型 [MenuItem(...
原创
275阅读
0评论
0点赞
发布博客于 2 年前

Unity在安卓端读写数据的一些问题

路径在安卓端一般常用的路径1.StreamingAssetsPath:Application.streamingAssetsPath 2.PersistentDataPath:Application.persistentDataPath区别:1.StreamingAssets需要我们在编辑器里手动创建的一个文...
原创
133阅读
0评论
0点赞
发布博客于 2 年前

动态生成CS文件(动态生成C#类)

基础1.CodeTypeDeclaration 可用于表示声明类、结构、接口或枚举的代码 官方传送门:https://docs.microsoft.com/zh-cn/dotnet/api/system.codedom.codetypedeclaration?redirectedfrom=MSDN&view=netframework-4.82.CodeMemberField 表示某...
原创
826阅读
0评论
0点赞
发布博客于 2 年前

AssetBundle包的加密

思路:1.先把资源构建成AssetBundle包2.将构建出来的AB包数据读取出来进行加密,然后重新写入AB包3.先解密,然后加载AB包加密与解密1.这里我们首先设定一个加密码,然后将读取出来的文件流的每一位与加密码进行异或操作得到一个新的加密过的数据,解密也是一样的操作public class FileTools{ public const byte Key ...
原创
50阅读
0评论
0点赞
发布博客于 2 年前

Unity与Android通信基础篇

前言看了网上千篇一律的Unity与Android通信的方法,作为一个新手,真的很容易入坑,我这里介绍一个简单的方法,不用导什么arr包,jar包的,然后改AndroidManifest文件环境1.首先我们需要安装JDK,并配置环境2.Unity中选好SDK和NDK指定路径3.Unity工程切换为Android工程4.打包发布的包名,工程名指定好基础1.拿到我们的UnityPlaye...
原创
80阅读
0评论
0点赞
发布博客于 2 年前

Unity GPS定位之逆地理编码(获取经纬度并转换成地理位置)

unity定位前言最近在做一款手游,然后策划给的需求就是定位到当前用户所在的城市,然后花了一个上午给做了出来,思路大概就是新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高...
原创
727阅读
0评论
0点赞
发布博客于 2 年前

FairyGUI学习笔记(循环列表)

循环列表首先在FGUI界面搭建UI并导入Unity,这里省略搭UI的步骤playerList = GetChild("playerList").asList; //获取到列表获取到列表后,设置虚拟循环列表 playerList.SetVirtualAndLoop(); playerList.numItems = 5; //设置列表长度渲染的方法进行注册 playe...
原创
1848阅读
0评论
1点赞
发布博客于 2 年前

xlua学习之路(三)Lua面向对象

简单实例【lua创建对象】假如我们有一个人,这个人名字将张三,年龄18,在lua中我们可以这样实现person={name="张三",age=18}那么现在我们又来了人,名字叫李四,年龄22,于是我们又要写一遍,就像这样person2={name="李四",age=22}要是我们有100个人,1000个人就会很繁琐于是我们就可以写一个模板Person,然后给他写个创建对象的方法,就...
原创
595阅读
0评论
0点赞
发布博客于 2 年前

IEnumerable和IEnumerator详解

组成从名字常来看,IEnumerator是枚举器的意思,IEnumerable是可枚举的意思。这两个都是个接口接下来我们看一下IEnumerator和IEnumerable的源码 public interface IEnumerable { IEnumerator GetEnumerator(); }IEnumerable非常简单,就一个GetEn...
原创
414阅读
0评论
1点赞
发布博客于 2 年前

xlua学习之路(二)xlua基础

lua文件加载1.执行字符串XLua.LuaEnv luaenv = new XLua.LuaEnv();luaenv.DoString("CS.UnityEngine.Debug.Log('hello world')");luaenv.Dispose();1、DoString参数为string,可输入任意合法的Lua代码,本示例在lua里调用C#的UnityEngine....
原创
467阅读
0评论
0点赞
发布博客于 2 年前

xlua学习之路(一)安装配置环境

xlua的安装xlua github下载地址:https://github.com/Tencent/xLua打开zip包,你会看到一个Assets目录,这目录就对应Unity工程的Assets目录,保持这目录结构放到你的Unity工程如果希望安装到其它目录,请看FAQ相关介绍 。热补丁使用方式1、打开该特性添加HOTFIX_ENABLE宏,(在Unity3D的...
原创
972阅读
0评论
0点赞
发布博客于 2 年前

Cocos Creator入坑笔记之关于资源加载,解析json之类的问题

最近入坑Cocos Creator,对于一个Unity程序来说,上手Cocos Creator还是比较容易的,最近在做一款微信小游戏一笔到底,把自己遇到的问题记录下来。首先,我把关卡数据保存为json数据,然后游戏开始的时候读取关卡数据,我的Json数据格式是类似于这样的这是我的Json数据{"partdatas":[{"levelId":1,"pointPositions":...
原创
2838阅读
0评论
1点赞
发布博客于 2 年前

关于FixedUpdate,Update,LateUpdate

1.FixedUpdate是在Update前调用2.FixedUpdate每1秒所执行的次数是固定的,但每两次执行间隔的时间是固定的 1秒执行的次数=1/Fixed Timestep(在Edit/Project Setting/Time/下的Fixed Timestep) 3.FixedUpdate 会受到Time.timeScale的影响 ...
原创
153阅读
0评论
1点赞
发布博客于 2 年前

关于Unity射线忽略层级的坑

unity中的射线检测方法Physics.Raycast 有时侯我们想在射线检测的时候忽略掉某些物体的碰撞,从而达到检测物体背后的物体的碰撞,这是个时候我们使用layerMasklayerMask参数使用按位与&lt;&lt;设置的一些总结:1 &lt;&lt; 10 打开第10的层。~(1 &lt;&lt; 10) 打开除了第10之外的层。~(1 &lt;&lt; 0) 打开...
转载
3372阅读
3评论
2点赞
发布博客于 2 年前

c#数据结构与算法(视频)

c#数据结构,包含自己实现栈和队列,实现list集合,使用顺序存储与链式存储两种方式实现
zip
发布资源于 3 年前