- 博客(20)
- 收藏
- 关注
原创 Gbox开源:比RN和WebView更轻的高性能动态化业务容器,解决首页动态化的痛点
1 前言注: 本文中所有的xml都可以直接贴去mock测试,文章中还附有运行预览的截图。阅读本文可能需要您亿点点的时间。2 我们要解决什么问题?2.1 不讲应用场景就是耍流氓!在线上,对于某些适用于要求强展示、轻交互、高可配场景,RN和WebView显得不够灵活,性能表现也不够好。使用RN时要占据整个Activity,而且Native和Js的通信损耗不可避,WebView的情况则更加糟...
2019-11-13 12:34:24 1741
原创 Android技术栈(三)依赖注入技术的探讨与实现
1.什么是依赖注入?说到依赖注入(DI),就不得不提控制反转(IoC),这两个词总是成对出现.首先先给出结论。控制反转是一种设计思想,它被用来降低代码之间的耦合,而依赖注入是用来实现控制反转最常见的手段。那么什么是控制反转?这得先从它的反面说起,也就是"正转"说起,所谓的"正转"也就是我们在程序中手动的去创建依赖对象(也就是new),而控制反转则是把创建依赖对象的权利交给了框架或者说是Io...
2019-03-22 16:35:48 308
原创 Android技术栈(二)组件化改造
1.为什么要组件化?国内都比较流行开发超级APP,也就是我全都要,什么功能都想加进去,这导致业务逻辑变得越来越复杂.这时我们会开始面临两个问题:首先,我们的res文件夹下的资源将会迎来爆炸式地增长,并且我们都知道res文件夹不能分层,它只能按module进行划分,所以你的layout和mipmap等文件夹将最先被迫害,当这两个文件夹的资源变多时,你要查找一个layout或者一张图片都会...
2019-03-22 16:34:39 307
原创 Android技术栈(一)从Activity迁移到Fragment
1.首先什么是Fragment?Fragment是Android的视图生命周期控制器(带生命周期的自定义View),是Activity上的View层级中的一部分,一般可以把它看做一个轻量级的Activity.与传统的Activity相比,它只占用更少的资源,并且提供更大的编码灵活性、在超低版本上的兼容性等.使用Fragment,即使是在肥肠差劲的平台(例如API 19以下连ART都没有的的老...
2019-03-22 16:32:56 1392
原创 [Unity Tips]在脚本中使用MonoBehavior.OnAnimatorMove()和StateMachineBehavior.OnStateMove()改变根运动
最近在写自己做的格斗类小游戏时遇到了,一些问题,我在Animator上使用了ApllyRootMotion来控制角色的模型做出3dsmax中配置好的动画的位移和旋转,可是有一个问题,我希望的的角色,比如他在攻击时是可以改变方向的,但众所周知使用了ApplyRootMotion之后在脚本中给Transform赋值是没有用的,因为我曾在Unity Manual里看到过这样一句话:“角色的Transfor
2017-10-28 22:55:50 11558 3
原创 Unity-脚本
脚本(Script)详见API手册事件功能 MonoBehavior的执行顺序 定期更新活动 Update在渲染帧之前以及在计算动画之前被调用。 void Update() {}在每次物理更新之前调用一个名为FixedUpdate的单独事件函数。按固定时间间隔调用。 void FixedUpdate() {}有时也
2017-10-28 22:22:44 670
原创 Unity-合集简介
我的一些废话本篇是我个人学习Unity的笔记,内容上基本照搬了官方的手册,并附加一些个人笔记和API文档里的一些东西,有部分引用了Unity圣典。但是翻译中个人好恶体现得比较严重,整体偏重于2D,而且很多翻译为了追求口语化不太标准,还删减了自认为官方的一些废话,并且删除了有关苹果和JS的元素。所以请不要把本笔记当做官方手册的中文翻译来看,特别是3D党、苹果党和JS党,请谨慎阅读。 本
2017-10-28 21:47:40 468
原创 Unity-动画
动画系统概述(Animation System)注:animation 和animator组件是不一样的,animation是旧板的动画系统。 Unity拥有丰富而精致的动画系统(有时称为" Mecanim ")。它提供: 简单的工作流程和设置动画的所有元素,包括对象,角色和属性。 支持导入在Unity内创建的动画剪辑( animation clips )和动画
2017-10-28 21:40:07 760
原创 Unity-Unity编辑器Part5
场景(Scene) 场景包含游戏对象。它们可以用来创建主菜单或者其他任何东西。将每个独特的场景文件视为一个独特的层次。在每一个场景中,你会把你的环境、障碍和装饰都放置在你的游戏中。 一个新的空白场景,带有默认的3D对象 - 一个摄像头和一个定向光源(Light)。当您创建一个新的Unity项目时,场景视图将显示一个新的场景。这是一个无标题和未保存的场景。除了默认对象之外,这个
2017-10-28 21:37:07 2299
原创 Unity-Unity编辑器Part4
定位GameObjects(游戏对象)要选择一个GameObject(游戏对象),请在" (scene)场景"视图中单击它,或在" (hierarchy)层次结构"窗口中单击其名称。要选择或取消选择多个GameObjects,请在单击时按住Shift键,或者用鼠标来框选它们。 所选的GameObjects(游戏对象)在"场景"视图中突出显示。默认情况下,这个亮点是GameObje
2017-10-28 21:36:14 742
原创 Unity-Unity编辑器Part3
检查器(Inspector)窗口 Unity编辑器中的项目由包含脚本,声音,网格(Mesh)和其他图形元素组成。检查器(inspector)窗口显示有关当前选定的GameObject的详细信息,包括所有连接的组件及其属性,并允许您修改场景中GameObject的功能。 检查器(inspector)在Unity的默认位置检查GameObject使用检查器可以查看和编辑Uni
2017-10-28 21:35:31 783
原创 Unity-Unity编辑器Part2
导入资产 在Unity之外创建的资产必须通过将文件直接保存到项目的Assets文件夹中或复制到该文件夹中,才能进入Unity。对于许多常见格式,您可以将源文件直接保存到项目的Assets文件夹中,Unity就能读取它。当您保存对文件的新更改时,Unity将注意到,并在必要时会自行重新导入。 创建Unity项目时,Unity会帮您将创建一个文件夹(以项目命名),其中包含以下子文件
2017-10-28 21:34:51 869
原创 Unity-Unity编辑器Part1
编辑器(UnityEditor)界面 有差不多一半的工作都会在编辑器中进行,所以花时间学习编辑器界面,并熟悉它,是很有必要的。主编辑器窗口由多个子窗口组成,可以重新排列,分组,分离和对接。 这意味着编辑器的外观可以一个项目不同于另一个项目,一个开发人员可以根据个人喜好以及您正在做什么类型的工作来设置编辑器的窗口布局。 注:一般用于显示画面的叫视图,没有画面用来显示重要信息
2017-10-28 21:33:42 380
原创 Unity-UI&EasyTouch
帆布(Canvas)该画布是所有UI元素应该是内部的区域。画布是一个具有Canvas组件的游戏对象,所有UI元素都必须是这样一个Canvas的子项。 使用菜单GameObject> UI> Image创建一个新的UI元素,如图像,如果场景中还没有Canvas,则会自动创建一个Canvas。UI元素作为一个子对象创建到此画布。 画布区域在场景视图中显示为一个矩形。这使得UI元素的
2017-10-28 20:59:00 931
原创 Unity-2D物理
2D刚体(Rigidbody 2D)在2D中,物体只能在XY平面中移动,并且只能绕Z轴旋转。 刚体2D组件。根据您选择的"主体类型",Unity Editor中的显示方式会有所不同。 2D刚体的工作原理 通常,Unity Editor的Transform组件定义了GameObject(及其子对象GameObject)在场景中的位置,旋转和缩放方式。当它被更改时,它会
2017-10-27 23:00:21 1622
原创 Unity-2D图形&Sprite
设置后期处理栈(post-processing stack)post-processing stack可以在资产商店下载。 首先,您需要将"Post Processing Behaviour"脚本添加到相机GameObject中。您可以通过选择相机并使用以下方式之一: 将PostProcessingBehaviour.cs脚本从项目窗口拖动到相机。 使用菜单Compon
2017-10-27 22:59:26 3109
原创 vulkanAPI学习笔记(零)
本章是vulkanAPI开发的准备工作SDK安装包学习vulkan首先要知道它的SDK在哪下载 在官网:https://vulkan.lunarg.com 可以很轻松的找到最新版本的vulkanSDK 然后把你的显卡驱动更新到最新版本以确保支持vulkan在vs2015下的环境配置因为安装程序会自动帮我们设置好环境变量$(VULKAN_SDK),所以我们就可以用到这个环境变量 新建一个C++
2017-05-06 02:05:00 663
原创 C++通过宏定义绕过private访问权限<技巧>
博主看了wangjieest的《C++ 突破私有成员访问限制》 之后 想自己进行尝试用宏定义替换的方式突破访问限制 却发现原作者使用的编译器都是VC2008 而目博主使用的是VC2015 直接#define private public是无法通过编译器检查的 但在编译器的报错信息中 博主发现了下面的两条1>d:\sdk1\vc\include\xkeycheck.h(214): warn
2017-04-14 19:14:37 2816
原创 基于位运算插值的,easyX多按键检测<类>
如果有需要用easyX库写小游戏的朋友可以试试. 特点是把一个size_t作为一个长bool数组. 通过监视者模式检测按键行为//Inputer.h#pragma once#include <map>#include <windows.h>//引入API函数GetAsyncKeyState()#include <initializer_list>class Inputer{publ
2017-04-14 11:10:34 1295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人