AF Blog

我干了什么 究竟拿了时间换了什么

「Python」 自动化图片压缩处理(TinyPng)

使用Python实现自动化图片压缩处理

web或移动端项目中,经常遇到贴图资源太大,需要压缩处理的问题,这里使用Tiny作为压缩方式实现 1.tinify压缩 tinify是TinyPng提供的Python的压缩库 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import tinify #存放多个免费的key tinifyKeys = ["key","k...

「游戏中的数学」 2 四元数与欧拉角

Unity中的四元数与欧拉角

游戏开发中,数学的应用是非常广泛的,本文主要总结一些平时常用的游戏数学知识 一.欧拉角 欧拉角是用来唯一地确定定点转动刚体位置的三个一组独立角参量。 Unity中的欧拉角有两种方式可以解释: 1,当认为顺序是yxz时(其实就是heading - pitch - bank),是传统的欧拉角变换,也就是以物体自己的坐标系为轴的。 2,当认为顺序是zxy时(roll ...

「游戏中的数学」 1 向量

2D,3D游戏数学

游戏开发中,数学的应用是非常广泛的,本文主要总结一些平时常用的游戏数学知识 一.向量 Vector 向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。在游戏开发中它经常用来描述位置的变化,并且可以与其他向量相加或者相减来得到新的位置变化(一个向量代表一个位置的变化,两个这样的向量相加得到的是这两段位置变化的总效果)。向量根据坐标系的纬度分为Ve...

「Egret」8 实现简单的翻书效果

简单的翻书效果

1.简介 首先感谢Active_Loser的自定义View实战篇(二)实现小说翻页二 基本原理 翻书是很常见的效果,但是在egret中,由于跨平台的需求,引擎对底层的接口过度封装,并没有开放出特别多的绘制函数,所以是表现出来的效果和直接使用canvas绘制还是有一些限制。 具体原理可以去看Active_Loser的原理介绍,图解的很详细,这里我就不放多余的图片了,原理其实很简单...

「Egret」7 滑动列表选择器

用于时间,日期,或者其他元素的滑动定位选择

Egret 中简单的滑动列表选择器 1 主要用在类似移动端的日期选择器或者一个列表,需要定位到某个元素位置的情况。 使用系统的eui.sys.TouchScroll组件,覆盖scroll的事件来实现定位滑动。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...

「Egret」6 2D游戏的动态换装--换皮肤

图集的动态生成,整体换肤实现动态换装

Egret 中的动态图集生成 1.为什么要生成动态图集 在游戏制作中,经常遇到换装的需求,对于2d游戏来说,换装有很多局限性,本文是基于dragonbones实现的换肤换装。 这里不考虑单独替换部位实现换装,只探讨在使用皮肤换装的情况下如何更方便的实现动态样式的换装。 2.直接的皮肤换装 1 2 3 4 private replaceSkin() { ...

「Egret」5 碰撞检测

多边形以及圆形的碰撞检测

Egret中的碰撞检测 1.矩形和矩形之间的碰撞 1 2 3 4 5 6 7 8 9 10 11 public static hitTest(obj1:egret.DisplayObject,obj2:egret.DisplayObject):boolean { var rect1: egret.Rectangle = obj1.getBounds(); var rec...

「Egret」4 加载TiledMap

读取tiledmap并显示

Egret+TiledMap 1.Egret tiled库下载地址  https://github.com/egret-labs/egret-game-library/tree/master/tiled 1.将库文件放到工程根目录的libs目录下 修改 Egret 工程内根目录下的egretProperties.json,在modules下添加tiled模块 1 ...

「Egret」3 热更新

热更新的设置

热更新 native代码编译 egret build ActGameIOS/ActGameAndroidAS –runtime native -e native热更新包资源编译 egret publish –runtime native html5 –version version ...

「Egret」2 第三方库的使用

库文件的配置

库项目配置 库项目 除了游戏项目之外,白鹭引擎也支持库项目的构建,开发者可以把可复用的逻辑打包为一个库,以便在不同项目之间进行复用。 以下文档使用白鹭引擎 4.1 版本 背景 在白鹭引擎 4.1 中,我们重新梳理了第三方库的项目结构,核心目的在于解决以下问题: 1 2 1.降低第三方库的复杂度,使其整体结构变得更为简洁易懂 2.拥抱 es2015 /...