自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (3)
  • 收藏
  • 关注

原创 Unity WebGL交互通信

1.这里的方式主要是在index.html文件中在创建unityInstance的时候通过缓存unityInstance并向unityInstance发送消息的方式实现。5.可以在xxx.jslib文件中调用index.html里面的httpPost函数,当时也可以直接把函数实现直接放在xxx.jslib文件中。这里通过:window.unityInstance = unityInstance;4.如果想要调用.js里面的接口或者.html里面的方法,可以通过往window里面注册函数进行调用的方式。

2024-11-08 11:52:13 435

原创 Android webview 打开本地H5项目(Cocos游戏以及Unity游戏)

5.如果H5项目中用到了Fetch 出现报错Fetch API cannot load 是因为Fetch不支持使用file://访问本地文件, 可以在html文件中处理下。4.如果js代码访问本地文件出现CORS跨源请求 可以通过重写WebViewClient的shouldInterceptRequest函数拦截请求并替换为本地资源。至此,就可以离线访问本地的Unity,Cocos等H5游戏。3.启用JavaScript 设置本地访问权限。如果是 arraybuffer 可以这样处理。

2024-11-01 20:10:57 626

原创 Android无法获取已安装应用包名的问题

在某些情况下,我们需要获取android上已安装的第三方应用的一些信息。

2024-02-20 18:09:38 824

原创 阿里云Windows服务器(ECS)下tomcat安装SSL证书及配置HTTPS

阿里云Windows服务器(ECS)下tomcat安装SSL证书及配置HTTPS

2022-08-29 17:50:05 2701 1

原创 微信小程序打开外部页面

微信小程序打开外部链接

2022-08-11 11:47:01 6129 6

原创 Unity优化包体

编译首包1.使用il2cpp编译导出Android工程2.使用Android Studio的Apk Analyze分析当前apk的大小清理插件这一步是比较快且收益比较高的,一般一些第三方的插件都可以较快的发现和清理,可以把一些不需要的插件进行清理,全局搜索Asset下的Plugins目录,把不需要的删除即可注:可能有些插件删除了后,编译的apk出现闪退的情况,需要关注AndroidManifest.xml中对插件的引用,在删除插件后,删除对应的配置。修改编译设置1.使用il2cpp编译时会

2022-05-19 10:29:05 1425

原创 web项目部署到阿里云服务器外网ip访问(LayaBox)

前言本文将使用layabox发布的web项目部署到阿里云Esc云服务器上通过外网ip访问web应用大纲本文你可以学习到:1.阿里云云服务器的部署2.Tomcat的安装以及使用发布Web工程1.本文使用的引擎为layabox2.5.0发布web应用下图是编译完的web应用部署阿里云服务器1.登录阿里云开通云服务器Ecs然后远程连接上服务器,我这里服务器选的是windows系统安装Tomcat1.我们在远程连接上的服务器上安装Tomact,我这里用的服务器是有可视化界面的w

2022-04-25 17:18:44 2309

原创 AndroidStudio 导出AAB格式上传谷歌提示超过150M 解决方案

AndroidStudio 导出AAB格式上传谷歌提示超过150M1.在Google Play后台上传aab包时候报错提示您的 App Bundle 包含的以下配置会使应用的初始安装大小超过 150 MB 的上限2.这里的150M指的不是aab的大小,而是解压aab后里面的base文件夹压缩后的大小不能超过150M解决方案把base文件下的内容拆分到其他module作为install_apk,即Play Asset Delivery(PAD)Play Asset Delivery 针对原生

2022-01-11 16:18:38 8326

原创 Android Google Play 支付SDK接入指南

前端这里要接入的是google应用内支付1.在app模块下的build.gradle模块下引入最新版本google billing 4.0版本,顺便引入google服务,如下 implementation 'com.google.android.gms:play-services-wallet:19.0.0' implementation 'com.android.support:appcompat-v7:24.1.1' implementation 'com.android.b

2021-12-21 20:46:24 13275 2

原创 ios端接入本地企业微信支付证书问题

前言1.接入微信支付前,需要申请应用的appid,这将用于获取用户在该appid下的openid2.需要一个微信商户号,用于企业微信支付,应用的appid需要绑定到这个微信商户上。3.完成这些操作后,再去微信商户后台下载API证书,API证书将用于接口访问时的验证,一般微信不建议我们将API证书放在客户端,这样安全性得不到保证,这里只是在客户端完成微信支付过程,商业用户需要将证书安装到自主服务器上。证书问题1.需要将下载下来的cer证书拖入xcode工程中2.post请求微信接口时,微信接口需要

2021-05-10 10:59:48 447

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

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

2020-11-30 09:42:23 682

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

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

2020-11-18 09:31:29 623

原创 Android签名包调试问题

签名1.打包带签名的包时会有个V1,V2的签名选择,只签名V2的话会导致有些设备或者模拟器无法安装,且无法查看apk的证书MD52.build.gradle签名配置 signingConfigs { release { if (project.hasProperty("RELEASE_STORE_FILE")) { storeFile file(RELEASE_STORE_FILE) storePa

2020-11-17 17:48:58 634

原创 Android微信登录WXEntryActivity无响应

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

2020-11-11 19:54:29 3616

原创 ios 证书验证

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

2020-10-22 10:29:03 1039

原创 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* .

2020-09-17 20:05:23 482

原创 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 通过原生语言

2020-09-17 19:50:07 5010

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

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

2020-07-01 17:17:48 1556

原创 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之间即能

2020-07-01 11:16:52 1610

原创 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

2020-06-30 09:54:45 5685 1

原创 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

2020-06-17 11:24:57 3636

原创 Unity与Xcode交互基础

准备首先我们从Unity中Build出Xcode工程,然后打开工程,在工程中找到UnityAppController.mm文件生命周期UnityAppController实现了UIApplicationDelegate中的生命周期函数,这里了解一下:application:didFinishLaunchingWithOptions: 这是程序启动时调用的函数。applicationDidBecomeActive: 应用在准备进入前台运行时执行的函数。applicationWillResig

2020-06-01 11:03:40 1085

原创 Unity长按按钮的实现

实现通过派生Button类以及实现 IPointerDownHandler, IPointerUpHandler接口,我们只需要在按钮按下时添加一个长按开关,和一个计时器,长按到达指定时间进行持续触发即可using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;/// <summary>

2020-05-12 20:15:41 1595

原创 Unity字体间距控制

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

2020-05-12 20:10:25 1229

原创 Unity超大浮点数(无上限)

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

2020-05-12 20:02:52 1565 2

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

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

2020-05-12 19:48:09 3926 1

原创 Unity新手引导

介绍这里要介绍的是通过着色器(Shader)来实现高亮某一UI效果先看效果一个圆形范围高亮显示,一个矩形范围显示圆形这里先上C#代码,后面会给出Shader的代码/// <summary>/// 圆形遮罩镂空引导/// </summary>public class CircleGuidanceController : MonoBeha...

2020-01-13 20:05:30 2065 3

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

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

2019-12-31 20:22:55 861

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

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

2019-12-27 13:56:37 8372 3

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

前言接着上一篇写Excel表数据序列化成文本这里直接上代码了 [MenuItem("Component/Excel表数据写入文本")] public static void Serlize() { string[] paths = FileTools.GetAllFiles(AssetData.AssetExcelToJsonOutPutPat...

2019-12-10 20:32:22 445

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

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

2019-12-10 20:16:55 1217

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

路径在安卓端一般常用的路径1.StreamingAssetsPath:Application.streamingAssetsPath 2.PersistentDataPath:Application.persistentDataPath区别:1.StreamingAssets需要我们在编辑器里手动创建的一个文...

2019-12-10 19:52:58 801

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

基础1.CodeTypeDeclaration 可用于表示声明类、结构、接口或枚举的代码 官方传送门:https://docs.microsoft.com/zh-cn/dotnet/api/system.codedom.codetypedeclaration?redirectedfrom=MSDN&view=netframework-4.82.CodeMemberField 表示某...

2019-11-28 16:58:36 2683

原创 AssetBundle包的加密

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

2019-11-16 17:37:10 427

原创 Unity与Android通信基础篇

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

2019-09-21 11:19:16 360

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

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

2019-09-04 15:05:57 1507

原创 FairyGUI学习笔记(循环列表)

循环列表首先在FGUI界面搭建UI并导入Unity,这里省略搭UI的步骤playerList = GetChild("playerList").asList; //获取到列表获取到列表后,设置虚拟循环列表 playerList.SetVirtualAndLoop(); playerList.numItems = 5; //设置列表长度渲染的方法进行注册 playe...

2019-07-13 18:05:32 3608

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

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

2019-06-27 10:09:29 1234

原创 IEnumerable和IEnumerator详解

组成从名字常来看,IEnumerator是枚举器的意思,IEnumerable是可枚举的意思。这两个都是个接口接下来我们看一下IEnumerator和IEnumerable的源码 public interface IEnumerable { IEnumerator GetEnumerator(); }IEnumerable非常简单,就一个GetEn...

2019-06-20 15:23:00 3079

原创 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....

2019-06-12 10:56:41 1081

切割模型,切割mesh

模型切割,以及切割mesh

2022-05-18

xcode 混淆工具

xcode oc代码混淆

2021-01-19

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

c#数据结构,包含自己实现栈和队列,实现list集合,使用顺序存储与链式存储两种方式实现

2018-05-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除