- 博客(101)
- 资源 (5)
- 收藏
- 关注
原创 [Cocos Creator]安卓上微信小游戏加载到100%就进不去了
最近用cocos creator做小游戏,发布体验版到微信上,发现安卓用户都无法打开,普遍卡在微信加载到100%到地方,而ios用户都可正常进入。明明之前用Egret开发的时候是没有这个问题的。当时思索是微信新版本的问题,导致了安卓用户无法进入,但是发现海滨的体验版可以正常进入,甚至Cocos Creator的新工程也可以进入,所以问题应该不在微信,而在我们自己项目。由于Cocos Creato...
2019-06-01 16:47:58
6041
5
原创 [Cocos Creator] Cocos Creator中的动态合图(dynamicAtlasManager)做了什么
Cocos creator中有一个动态合图的功能,也就是在运行时将内存中的任意纹理组合成一张虚拟的图集,从而合并绘制,减少drawcall。那么,Cocos Creator是如何实现这个功能的呢。核心思想是数据结构中常说的空间换时间, 原理其实并不复杂,就是帧缓存,简单来说就是将多份spriteFrame绘制到RenderTexture上,并记录其在新的RenderTexture中所属的位置和长...
2019-04-25 21:42:03
4851
原创 [Cocos Creator] Cocos Creator 下拉框(Dropdown)组件的实现
模仿Unity卸了一个Dropdown的组件:使用方法可以见工程,链接见底下:https://github.com/ETRick/CocosCreator-Dropdown/tree/master/Dropdown
2019-04-02 21:26:28
6425
4
原创 [Cocos Creator] 修改Cocos Creator 中的timeScale
cocos creator 2.1.0中可以通过cc.director.getScheduler().setTimeScale(value)来设置timeScale,但是这仅仅影响了回调函数的timeScale,并不作用于component的update,非常不方便,官方也迟迟不修改,现在想要像Unity一样修改一处timeScale,加快整体游戏的速度,那么只要运行下面这一段代码就可以啦。le...
2019-03-21 13:57:27
4646
1
原创 [Cocos Creator]获取类名
Cocso Creator 提供了cc.js.getClassName这么一个函数,但是遗憾的时候,当代码混淆后, ccclass装饰过的类是能通过该方法拿到类名,但是自定义的类就拿不到了,自定义的类混淆后拿到的往往是"t"。看了一下Cocos Creator 对ccclass类做处理的流程(分析ts编译后的js代码, 查看ccclass源码),自己写了一段代码,方便自定义类拿到自己的类名:/...
2019-02-25 19:32:30
3353
原创 [Cocos Creator] Cocos Creator TypeScript序列化自定义类型
项目中自定义了一个配置Label颜色的配置类:const {ccclass, property} = cc._decorator;@ccclassexport default class TestColorConfig{ @property(cc.Color) public lvlColor: cc.Color = cc.Color.WHITE; @proper...
2019-02-25 17:44:52
6817
原创 Mac python多环境管理
Mac 系统 10.14.2mac自带python2.7, 通过which python 可以查看到改命令的执行程序在"usr/bin/python",python3问世也有些年头了,从官网下载安装, which python3显示安装在"/Library/Frameworks/Python.framework/Versions/3.7/bin/python3",
2019-02-21 10:35:39
1388
原创 [Egret] 白鹭跨平台API调用解决方案,以微信小游戏API调用为例
如何在egret中调用微信API呢,摸索出两种思路,分别是官方解决方案如何在 Egret 中调用小游戏 API完全自己实现官方解决方案:官方解决方案简单提一下:新增 platform.ts 文件 在该文件中,定义一个接口Platform,接口定义了各个平台需要实现的接口,如分享,登录等,各平台分别实现一份XXPlatform, 并通过 下面的代码if (!win...
2018-08-11 02:08:35
4488
原创 【微信小程序】你画我猜&Merged
代码在github: https://github.com/ETRick/MiniProgram-Draw 设计知识点比较全面,可做微信小程序教程: - canvas绘制 - 自定义组件 - 海报生成(截图) - 线条粗细选择 - 图片保存 - 微信分享 - 线条颜色选择 - 回退 - 擦除 - 清空canvas - 用户头像显示 - css动画...
2018-07-31 00:43:19
5862
4
原创 Egret中DragonBones换装的三种方式
使用的Egret和DragonBones对应的版本分别为:DragonBones版本:5.6Egret版本:5.0.7先阅读一下DragonBones官方文档 http://developer.egret.com/cn/github/egret-docs/DB/dbLibs/createAnimation/index.html(了解如何创建、使用骨骼动画即可,换装部分没讲好)示例...
2018-07-23 15:23:59
6553
原创 Egret exml在微信小游戏这块儿的坑
知识点:微信小游戏不支持eval等方法动态调用js脚本egret自定义组件暴露在全局,但是导成微信小游戏工程的时候必须要将类挂载到window上exml最终会被解析成js代码egretProperties.json中的eui中 exmlPublishPolicy 要改为 commonjs 才能在编译的时候就生成js代码使用皮肤的时候直接引用EXML文件,而不要动态加载EXML文件...
2018-05-22 20:44:45
5158
原创 Egret 白鹭跨域问题
一个WebGL很常见的跨域问题: Uncaught SecurityError: Failed to execute ‘texImage2D’ on ‘WebGLRenderingContext’: The cross-origin image at http://www.expamplesrc.expampleExtension may not be loaded. 测试服务器用的中间件是a...
2018-03-19 14:54:31
6824
原创 LayaAir 开发微信小游戏中遇到的一些坑
wxlocal目录做本地资源目录wxlocal为项目本地资源目录,该功能在wxmini适配器中, 官方文档本本不对,当前正式版为1.1.16,但是wxlocal目录只在1.1.17Beta版中才有,在更新LayaAir的时候注意更新项目工程中的lib库,否则只是更新了IDE。微信下本地资源需放在bin目录下的wxlocal目录下面,否则在使用basePath的时候url拼接会出错Wxlo...
2018-03-19 14:49:05
11021
1
原创 [Unity]编辑器中第一次结束游戏后第二次开始游戏崩溃的问题
最近在使用unity编辑器的过程中,总是遇到第二次运行游戏unity直接crash的问题,甚为苦恼。经反复试验,发现在第一次游戏结束后,在编辑器模式下切换一下场景再切换回开始场景后运行游戏能顺利执行。知道了怎么避免,那么只需要Edirot代码来自动化这一过程了。监听编辑器退出游戏运行的事件,在游戏退出的时候自动切换场景就可以了。查看了一下文档,可以监听EditorApplication...
2018-01-18 01:20:01
4279
原创 [Unity] 使用Render Texture截图并消除描边
关于使用Render Texture保存png的资料很多,Unity所提供的文档中也有提及。思路是将将摄像机渲染的纹理渲染到Render Texture上去,然后生成texture2D,获取texture2D的字节信息,将字节流保存到文件中。看着似乎没什么大问题,不过需要注意的是,渲染到Render Texture中到图像有一层明显到黑边:(需附图),原因自然是在渲染我们需要到图像到时候,我们并不
2018-01-18 01:02:28
6222
翻译 [Unity] Unity2D 中的物理关节
本教程基于Unity5.0.2f1,所以推荐使用该版本的Unity来学习该教程。接下来下载 2D_Joints_Starter。解压并在Unity中打开这个Demo。初始的scene应该如下所示: 像很多游戏一样,这个场景中有多种带有物理组件的物体。然后这里面的所有物体都没有关节。通过这个教程,你会尝试使用每一个Unity 2D关节并看到他们是如何起作用的。运行这个场景,你会看到一些物体因为重力的
2017-11-12 00:01:38
11363
2
原创 [Unity] 字符风格shader
知乎上看到字符风格的shader,然后照着自己撸了一遍代码,微做修改,增加了控制材质的C#代码 https://zhuanlan.zhihu.com/p/30775000 先看一下我实现的效果(字符由大到小,最后字符过密产生摩尔纹),素材图片在文章末尾: 思路是这样的: 将原图分割为很多个小方块,然后取小方块左上角位置的颜色,计算灰度值。 灰度值和字符图上的字符一一对应。最终就实现了字符组
2017-11-10 20:48:28
3339
翻译 [Unity]液体物理
翻译自:http://codeartist.mx/tutorials/liquids/在这个教程中我会展示如何扩展你自己的水粒子(water particle),以使流体物理能在很多机器上运行(当然也包括手机)。效果不是很现实,不过我可以保证这很简单而且可能是最省性能的方式。如果你知道如何如何在unity中编码以及使用刚体碰撞,你将用他们做一些疯狂的实验。我建议你在开始这个教程之前先下载这个exam
2017-10-22 23:32:33
12270
3
原创 [Unity] AnimatorStates中的write defaults详解
AnimatorState中有一个参数writeDefaultValues,在Inspector中显示的则是Write Defaults 官方文档对这个参数的解释是 Whether or not the AnimatorStates writes back the default values for properties that are not animated by its Motion
2017-09-04 16:34:39
11000
原创 [Unity] RenderTexture上不显示粒子
RenderTexture上不显示粒子前两天看到群里有人发了一个问题,用一个相机将图像渲染到render texture上面,然后将这个rendertexture给UI中的Image显示出来,发现粒子效果没有出现。群里进行了讨论,也有大神把原因说了出来。如下所示,粒子效果没有完整显示 可以看到代码中有如下语句Tags{ "Queue" = "Transparent" "IgnoreProjec
2017-09-04 15:31:47
10016
9
原创 [Unity] Unity5.6 2D中导入图片顶点数目过多修改为四个顶点
Unity5.6增强了2D功能,为制作2D游戏提供了很大的便利,让我们可以很方便地根据图片生成多边形碰撞体。在Sprite Editor中增加了Edit Outline的功能,让我们可以编辑图片的outline,而且unity也会在我们导入图片的时候自动地给我们调整图片的outline。如下图所示,这么一个简单的图片有三十多个顶点,这还是在Outline Tolerance设置为0的情况下。 让我
2017-07-13 17:05:51
2609
2
原创 [Unity] Unity的lua项目中模拟每帧运行一次的协程
游戏中,我们经常需要把一些大量计算或一些需要持续逐帧运算的步骤交给协程处理,习惯了Monobehaviour中使用协程来完成这类操作的我们。然而,很多Unity项目在选择热更新方案的时候,基本都会选择使用slua,ulua等lua解决方案,编写的lua代码运行在C#搭建的解释器上,两者之间可以相互调用,但是性能消耗也是极大的,为了减少C#和lua之间的相互调用,逻辑尽量都放在lua这边编写,这时候也
2017-07-12 20:59:39
3300
2
原创 【Unity】Unity自带卡通shader(toon shader)分析(一)
Unity Standard Assets中自带4个卡通相关的shader,可以通过导入Effects Package导入: 然后我们可以在Assets->Standard Assets/Effects/ToonShading/Shaders中找到这四个shader 首先来看一下ToonBasic这个shader,我从asset store上下载了一个名叫Tiger的免费模型,下面就用这个模
2017-06-18 23:41:51
14812
4
翻译 [Unity] 怎么在Unity5中烘焙lightmap
原文链接:Game Dev Tip: How to bake Lightmap in Unity 5 !什么是Light-mapLight-map是一张贴图(texture),存储了从场景(scene)中直接烘焙而来的灯光信息,通过这张贴图,我们可以减少draw call,提升我们游戏的性能。light-map通常没有阴影(shadow)。全局光照(Global Illumination)和环境光散
2017-06-18 01:09:33
29692
1
原创 [Unity] Unity中实现羽化功能的shader
GLSL->ShaderLab,原GLSL代码来自http://blog.csdn.net/panda1234lee/article/details/52199296,由于shaderLab的一些特性,shaderLab代码显得要简洁很多。// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)
2017-06-13 00:59:23
5868
原创 [Unity]console中定位lua文件并在sublime中打开
在雨松MOMO的微博上发现可以传入lua文件路径和行数,在sublime中直接定位 由于最近一直在写lua, 也苦于开发工具的匮乏,所以就捣鼓了一下: 下面可以看到lua代码输出的内容,双击这一条log,就根据我的配置打开sublime跳转到对应的文件以及行: 使用方法:将下面的C#代码放到工程Editor目录下面,然后在菜单栏Tools下面有两个按钮,分别配置sublime可执行文件的路径和
2017-03-08 22:09:47
2808
原创 [OpenGL学习] mac上运行第一个openGL程序
这是在mac上运行的第一个openGL程序,代码来自《计算机图形学(第四版)Computer Graphics with OpenGL》第三章,接口已经过时了,但刚接触,只能将就着用了://// main.cpp// OpenGLTest//// Created by Rick on 2017/3/6.// Copyright © 2017年 Rick. All rights re
2017-03-07 00:29:46
2530
原创 【Unity】构建自己的GameObject缓存池
using Game.Manager.Base;using System.Collections;using System.Collections.Generic;using UnityEngine;namespace Game.Common{ public class PoolManager : BaseManager<PoolManager> { priv
2016-12-29 21:31:47
2653
转载 【Unity】Unity 5.0 中酷炫的新动画功能详—— StateMachineBehaviour、StateMachineTransitions和RootMotionAuthoring
Unity 动画团队一直在努力工作、同心协力,使 Unity 5.0 具有令人印象深刻的功能集。敬请期待新动画功能,下面是有关新动画功能的简要概述,希望可以对Unity 的用户们有所帮助!State Machine Behaviours在Unity 5中,可以在某些状态中添加StateMachineBehaviour脚本。某些状态出现时,将出现以下几种回调。OnStateEnterOnState
2016-12-15 14:00:25
3321
原创 【Unity】2D Sprite九宫格(NineSliced)
支持新的2D系统的Unity会在2017年发布,届时会发布九宫格,TileMap等强大的2D特性,不过现在能用的只是alpha版而已,很多功能做得还不够好,接口也不完善,实际开发也比较鸡肋,所以自己写了一个2D九宫格,具体逻辑什么的有空再写,先贴下载地址:http://download.csdn.net/detail/rickshaozhiheng/9709900
2016-12-13 12:00:51
6076
2
原创 【Unity】编辑器中实现类似动画编辑器中的可拖动窗口
using UnityEngine;using UnityEditor;public class NodeEditor : EditorWindow{ Rect window1; Rect window2; [MenuItem("Window/Node editor")] static void ShowEditor() { NodeEdit
2016-10-18 18:27:53
2817
翻译 【Unity】Undo/撤销
Ctrl + z这对按键组合应该为广大计算机使用者所熟知,即用来做撤销操作。在没有热键屏蔽的情况下(搜狗输入法,QQ等软件可能会抢占某些常用按键组合的优先使用权从而导致我们按下按钮发现没有反应),Unity也可以通过Ctrl+z的组合来进行很多撤销。比如我们在场景中新建一个Cube,按下Ctrl+ z(或者菜单栏的Edit->Undo),新建的这个Cube就从场景中消失了。Undo的机制Unity中
2016-10-09 19:58:42
9039
2
原创 【Unity】编辑器下同时播放多个粒子特效
这里用到了http://blog.csdn.net/akof1314/article/details/45250767在编辑器下控制粒子播放的代码,我加入了多组件编辑、暂停、记录Time的功能。代码下载地址:http://download.csdn.net/detail/rickshaozhiheng/9648729使用方法: 导入资源,将EditParticleSystem.cs挂载到带有Par
2016-10-09 16:39:18
3839
原创 【Unity】预览选中的.lua文件
参考http://anchan828.github.io/editor-manual/web/customeditor.html效果如下: lua代码来自https://www.lua.org/cgi-bin/demo?sieve 1.自定义一个Attribute:using System;[AttributeUsage(AttributeTargets.Class, Inherited = f
2016-10-08 19:09:12
1184
原创 【Unity编辑器扩展简介】存储数据
unity编辑器中有三种方式可以存储数据。EditorPrefsEditorPrefs可以在PC中存储共享数据,即不受制于项目地存储信息影响范围保存的值会影响每一个大版本的Unity编辑器 以前存储在Unity4.x的值只能在Unity 4.x版进行处理,Unity5.x的还可以在Unity 5.x中只处理。 保存什么应在EditorPrefs存储的窗口的位置和大小,Unity编辑器结构的值等。
2016-09-26 19:01:32
4072
原创 【Unity编辑器扩展简介】在MonoBehaviour中可使用的编辑器扩展Attribute
1 改变Inspector的外观范围对于数值变量,可以通过添加Range属性来限定面板中数值的范围:using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour{ [Range(1, 10)] public int num1; [Range(1, 10)]
2016-09-26 15:36:01
2170
原创 [Unity] 修改Inspector右上角问号指向的url
在Unity5.3以后的版本中使用[HelpURLAttribute](https://docs.unity3d.com/ScriptReference/HelpURLAttribute.html):(为一个类提供一个自定义的文档)[HelpURL("http://example.com/docs/MyComponent.html")]public class MyComponent{}效果可见
2016-09-23 15:33:14
851
原创 [Unity]原生GUI模仿iOS TableView
TableView是iOS中非常常见的一种UI,最近一直在做编辑器,稍微研究了一下,装模作样把原生GUI封装一下,搞成iOS的TableView样式。 UITableView中需要有两个接口,一个负责数据源,一个负责事件处理。TableViewDataSource.cs:定义了几个比较重要的函数,用来获得行的数量等using UnityEngine;using System.Collection
2016-09-10 02:31:59
2244
原创 [Unity] Unity编辑器中绘制unity自带的小锁
附上 GUIStyle的api链接http://docs.unity3d.com/ScriptReference/GUIStyle.htmlusing UnityEngine;using System.Collections;using UnityEditor;public class LockIconTestWindow : EditorWindow { [MenuItem("Test/
2016-09-06 02:41:10
1938
编辑器下多粒子效果播放的工具
2016-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人