自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Loong专栏

分享,记录

  • 博客(51)
  • 资源 (3)
  • 收藏
  • 关注

原创 Unity | 在macOS使用shell运行unity并执行制定静态函数(运用于命令行打包和批量打包)

xargs kill -15”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -15”命令的参数,并执行该令。首先判断Unity是否运行中,如果运行中,则先杀掉Unity,然后启动Unity并执行某个Editor的静态函数。“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。在Unity中的Editor目录中新建一个MyEditorScript.cs脚本,如下。

2023-03-07 16:21:53 623

原创 Unity | xLua Lua中判断引用的C#是否为空

function IsNil(uobj)return uobj == nil or uobj:Equals(nil)endC#和lua的GC是相互独立的 各自管理自己的内存.

2023-03-07 16:20:18 360

原创 解决 vue Gui创建项目 Cannot read property ‘indexOf‘ of undefined

应该是vue-cli版本出问题解决方案:删除之前的版本npm uninstall vue-cli -g, 重新安装npm i -g @vue/cli 通过 npm install -g @vue/cli@版本号 安装3.xx版本的全局Vue-cli即可解决问题 比如npm install -g @vue/cli@版本号 安装3.12...

2022-03-08 17:49:42 623

原创 Unity | xLua交互原理以及架构

2022-01-30 15:02:40 2713

原创 Unity | Build-in渲染管线

渲染/render 是指由模型生成图像的过程,untiy内置渲染管线的流程如上图

2022-01-29 17:50:13 2663

原创 Unity | 碰撞检测相关

产生碰撞的条件勾选isTrigger的collider2D没有 挂有rigibody2D组件另外一个物体的collider2D不用勾选isTrigger 并且带有rigibody2D组件两个collider至少有一个要带有rigidbody2D组件两者谁动谁静没关系两者之间的层级不能有ignore的情况在Edit->Project Setting ->physics里面进行层级设置Layer Collsion Matrix接触的两种方式1:Col.

2022-01-10 21:01:37 462

原创 Unity | 动态切换渲染管线

using UnityEngine;using UnityEngine.Rendering;public class SwitchRenderPipelineAsset : MonoBehaviour{ public RenderPipelineAsset exampleAssetA; public RenderPipelineAsset exampleAssetB; void Update() { if (Input.GetKeyDo...

2022-01-10 20:46:49 1715

原创 blender测量3d模型的尺寸

图一在blender - 偏好设置-插件-搜索下载PDT图二步骤如 图二所示1,2,3即可

2022-01-10 19:46:03 2351

原创 Unity | 打ab包时ios报错

问题资源格式问题 因为对应的ab里面依赖了dds格式的图片ios gpu不支持dds格式android支持解决方案dds->png

2021-12-29 20:10:00 1944

原创 贝塞尔曲线 CocosCreator实践

实现二阶贝塞尔曲线须知三个点点坐标,起点P0(x,y), 控制点P1(x,y),终点P2(x,y)配合tweencc.tween(this.promptHand).bezierTo(1.8,new cc.Vec2(startPos.x, startPos.y),new cc.Vec2(controlPos.x, controlPos.y),new cc.Vec2(endPos.x, endPos.y)).call(() => {}).start()...

2021-05-19 20:15:59 2280

原创 git系列(持续更新)

git stash 将当前工作贮藏git stash list 查看贮藏的列表git stash apply 恢复贮藏中的工作内容git stash drop 删除此条贮藏git stash pop 恢复贮藏中的工作内容并删除此条贮藏git stash apply stash@{0} 恢复贮藏序列为0的贮藏中的工作内容...

2021-04-25 20:41:00 90

原创 ios/android判断app是不是第一次启动

基本思路就是,在第一次启动APP的时候,在本地保存一个布尔数据进行记录。如果是第一次启动保存为true,然后进行判断,如果是true,则提示是第一次启动并且修改为false。如果是false,则提示不是第一次启动ios:if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]){ [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"first...

2021-03-28 19:25:13 399

原创 针对 Creator 2.1 及以下版本的 iOS 14 原生平台适配说明

https://forum.cocos.org/t/creator-2-1-ios-14/97925Creator 1.x、2.0、2.1 版本的部分项目,升级到 iOS 14 后可能会在动态加载资源时遭遇黑屏。如果遇到这个问题的话需要手动进行适配。问题的根源在于,Creator 2.2.0 之前在 iOS 14 上出于性能、包体的考虑一直使用的是 iOS系统自带的 JavaScriptCore(JSC)脚本引擎,JSC 在 iOS 上比之前 Cocos2d-JS 所用的 SpiderMonke..

2021-03-09 20:33:43 365

原创 xcode真机调试”iPhone is not available.Pleasere connect the device“

原因:由于IOS14.4目前是beta版本,所以最新版本的xcode并没有支持与安装IOS14.4的手机进行调试。解决:下载最新版本的IOS14.4,拷贝到Xcode的DeviceSupport文件下即可正常调试。 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport...

2021-03-01 13:51:41 379

原创 Android Activity 生命周期

onCreate:表示页面(Activity)的创建。(生命周期第一个阶段)功能:完成初始化工作,如:加载页面布局资源、初始化数据。 onStart:表示页面(Activity)正在被启动,即将开始。功能:页面为可见状态,但是无法与用户交互。 onResume:表示页面(Activity)出现在前台。功能:与 onStart 相比,onStart 处于后台,OnResume 才显示到前台。 onPause:表示页面(Activity)正在停止。功能:页面处于后台,正常情况下,onSto...

2021-02-18 19:25:27 95

原创 iOS开发之dispatch_async 用法

- (void) initSDKFinish { InitParameter *initParameter = [[InitParameter alloc]init]; initParameter.cpID = @""; initParameter.gameID = @""; initParameter.gameKey = @""; initParameter.pubID = @""; [[ThreeState shareInstance]init.

2021-02-06 10:27:36 2384

原创 JavaScript闭包 浅谈

因为当执行var func = foo()的时候,返回了一个匿名函数的引用给fn对象。所以,fn可以访问到func被调用时产生的环境,而局部变量一直处于这个环境中。因此,闭包的环境就出现了。看起来就像是局部变量的生命周期被延续了。闭包的出现,可以获取函数内部的变量且变量一直在内存当中js闭包...

2021-02-01 19:26:14 79

原创 JavaScript循环引用 浅谈

js对象之间的循环引用但引用计数有一个很严重的问题,循环引用。循环引用指的是对象A 中包含一个指向对象B的指针,而对象B中也包含一个指向对象A的引用。比如下面这个例子:function problem(){ var objectA = new Object(); var objectB = new Object(); objectA.someOtherObject = objectB; objectB.anotherObject = objectA;}当函..

2021-01-26 14:23:40 1460

原创 Cocos Creator 原生平台 JavaScript 调试

游戏发布到原生平台后,由于运行环境不同,可能会出现在浏览器预览时无法重现的 Bug,这时我们就必须直接在原生平台下进行调试。然而传统的调试方法只能调试到 C++ 部分,无法调试 JavaScript 代码。Cocos Creator 从 v1.7 开始就引入了 JSB 2.0,可以很方便地对原生平台中的 JavaScript 进行远程调试。Mac1. 运行模拟器后,在 Safari 浏览器的偏好设置-> 高级选项卡中,勾选在菜单栏中显示"开发"菜单。2. Safari ...

2021-01-11 20:58:02 523

原创 Xcode打包:duplicate symbols for architecture arm64

项目中出现了重名的文件名,找到重复的修改下或者删除就好了,上述问题是因为项目介入了第三方sdk的某个库文件重复

2020-12-21 12:07:41 676

原创 JavaScript属性对象的hasOwnProperty方法:检测一个属性是否是对象的自有属性

hasOwnProperty() 方法是 Object 的原型方法(也称实例方法),它定义在 Object.prototype 对象之上,所有 Object 的实例对象都会继承 hasOwnProperty() 方法。 hasOwnProperty() 方法用来检测一个属性是否是对象的自有属性,而不是从原型链继承的。 hasOwnProperty() 方法不会检测对象的原型链,只会检测当前对象本身,只有当前对象本身存在该属性时才返回 true。var obj = {x: 1}obj.ha.

2020-12-15 19:45:02 376

原创 Uncaught TypeError: Cannot add property 0, object is not extensible 引起的思考

默认情况下,对象都是可以扩展的,即对象可以添加新的属性和方法。使用Object.preventExtensions()、Object.seal()和Object.freeze()方法都可以标记对象为不可扩展。var obj4 = Object.freeze({});Object.isExtensible(obj4); // false...

2020-12-15 19:30:49 14869

原创 测试一个点是否在一个多边形中

/** * !#en Test whether the point is in the polygon * !#zh 测试一个点是否在一个多边形中 * @method pointInPolygon * @param {Vec2} point - The point * @param {Vec2[]} polygon - The polygon, a set of points * @return {boolean} */function pointInPolygon (point, pol.

2020-12-09 20:17:55 173

原创 Android端 游戏 闪屏页实现

方案一AndroidManifest.xml android:theme="@style/AppTheme" >styles.xml<resources><style name="AppBaseTheme" parent="android:Theme.Black.NoTitleBar.Fullscreen"></style><style name="AppTheme" parent="AppBaseTheme">...

2020-12-09 19:13:25 107

原创 Mac Android Studio 获取 SHA256证书指纹

打开Android Studio在Terminal中输入命令keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android别名: androiddebugkey创建日期: 2020-6-29条目类型: PrivateKeyEntry证书链长度: 1证书[1]:所有者: C=US, O=Android, CN=Android Debug发布者: C=US, O

2020-12-02 15:19:22 1211

原创 Cocos2dx Android 平台初始化

1、主Activity入口在AndroidMainifest.xml中定义<activity> android:name="org.cocos2dx.javascript.AppActivity" ...</activity> 2、Cocos2dxActivity的onCreate()方法AppActivity继承Cocos2dxActivity,在它的onCreate()方法并没有处理太多东西,而是调用了父类的on

2020-11-25 20:53:34 470

原创 Mac下反编译 APK 实践

下载好apktool和apktool.jar(最新2.4.1)之后,将其拷贝到/usr/local/bin目录(如果有root权限)。chmod保证apktool命令不会出现Permission Deniedapktool d /xx/xx.apk

2020-11-24 23:53:44 319

原创 Mac自带的本地服务器的使用 以及 手机访问

1. 打开终端,开启Apache://开启apache: sudo apachectl start//重启apache: sudo apachectl restart//关闭apache: sudo apachectl stop2. 点击Finder,然后Command+Shift+G,前往如下路径(mac下Apache服务器的文件路径)/Library/WebServer/Documents在步骤1中 输入一个http://127.0.0.1其实默认打开的是index.

2020-11-24 18:58:41 1637

原创 Cocos2dx iOS 平台初始化

Main.m#import <UIKit/UIKit.h>int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, @"AppController"); [pool release]; return retVal;}

2020-11-24 14:48:54 163

原创 Xcode12 升级 (模拟器运行)报错问题 解决

模拟器run不支持x86_64解决方法

2020-11-23 19:54:11 1984 1

原创 cocos 屏幕多点触控 实践

方案 一:iosAppController.mm // 屏蔽多点触控 [_viewController.view setMultipleTouchEnabled:NO];android 需要修改cocosCocos2dxGLSurfaceViewpublic boolean onTouchEvent(final MotionEvent pMotionEvent) {... switch (pMotionEvent.getAction() & ...

2020-11-23 15:18:54 1051

原创 Mac上播放 swf 格式文件 小技巧

<html><body> <embed src="/Users/wql/ZG2020/**/**/**/atk2.swf" width="500" height="500"></embed></body></html>然后保存成html格式的文件,然后用你的Chrome打开,设置允许运行flash,即可...

2020-11-17 19:42:46 1244

原创 浅谈 cocos2d-js 内置定时器schedule不准

想起之前做的音乐类2d游戏 定时器不准就成了致命的问题原因cocos2d-js 内置定时器schedule 是基本引擎的主循环现在我们回到 Cocos2d-x 游戏主循环的话题上来。 CCDirector 包含一个管理引擎逻辑的方法,它就是CCDirector::mainLoop()方法,这个方法负责调用定时器,绘图,发送全局通知,并处理内存回收池。该方法按帧调用,每帧调用一次,而帧间间隔取决于两个因素,一个是预设的帧率,默认为 60 帧每秒;另一个是每帧的计算量大小。当逻辑处理与绘图计算量过大时.

2020-11-11 20:58:51 264

原创 解决 Maximum call stack size exceeded

超出最大调用堆栈大小深拷贝 递归复制 遇到循环引用时堆栈会一直增长,直到达到限制

2020-11-11 20:15:53 1606

原创 cocos creator 资源加密解密 实践

看看引擎是在哪里载入文件数据的。图片加密经过调试跟踪,Sprite::create的调用堆栈如下:Image::initWithImageFileTextureCache::addImageSprite::initWithFileSprite::createbool Image::initWithImageFile(const std::string& path){ bool ret = false; //NOTE: fullPathForFilen

2020-11-10 20:52:50 1841

原创 cocos creator drawcall优化 实践一

首先什么是drawcall?Draw Call就是CPU调用图形编程接口,来命令GPU进行渲染的操作。例如 OpenGL中的glDrawElement命令。1.CPU和GPU并行工作的原理为了CPU和GPU可以并行工作,就需要一个命令缓冲区(Command Buffer)命令缓冲区包含了一个命令队列,由CPU向其中添加命令,而由GPU从中读取命令。添加和读取的过程是相互独立的,因此命令缓冲区可以使CPU和GPU相互独立工作。当CPU需要渲染一些对象时,它可以向命令缓冲区添加命令,

2020-11-06 14:27:56 558 3

原创 安卓机水滴屏iphoneX全面屏 适配 实践

方案一:android studio 工程在应用的AndroidManifest.xml中增加meta-data属性此属性不仅可以针对Application生效,也可以对Activity配置生效。弊端:对Application生效,意味着该应用的所有页面,系统都不会做竖屏场景的特殊下移或者是横屏场景的右移特殊处理,也不能针对某页面做特殊处理。 <!-- Android O刘海适配 start --> <!-- 华为 --> ...

2020-11-04 11:43:01 296

原创 Mac安装软件时提示“文件已损坏,您应该将它移到废纸篓” 终极解决办法

打开终端,输入: sudo xattr -r -d com.apple.quarantine + 空格 + 软件的相对路径eg:回车 搞定

2020-11-02 00:10:44 702

原创 shader 的基本用法

fragvert

2020-10-30 15:55:01 653

原创 cocos creator 性能优化系列随笔

for (let i = 0; i < itemNum; i++) {let item= cc.instantiate(prefab);...}连续实例化N个对象。但在大量UI、动画同时出现时,却极有可能引起卡顿,因为实例化对象是个非常耗CPU的阻塞操作。优化方法就是采用分帧执行,例如分成10帧来执行,即每一帧只实例化一个对象。使用JavaScript的setInterval函数实现如下:let count = 10;let timer = setInterval(..

2020-10-26 16:27:25 648

谷歌浏览器书签同步码云插件

谷歌浏览器书签同步码云插件 请配合码云 一起使用 谷歌浏览器书签同步码云插件 请配合码云 一起使用 谷歌浏览器书签同步码云插件 请配合码云 一起使用

2020-12-07

apktool脚本 apktool.jar

apktool脚本 apktool.jar2.4.1 mac下反编译apk cd /usr/local/bin 可以直接用

2020-11-25

custom-button.zip

cocos creator插件 多边形按钮,取点辅助包,解压之后,放在工程目录packages 下 希望对加大家有帮助

2020-11-23

空空如也

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

TA关注的人

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