Galgame引擎编写,图像层
BG类层,立绘层,字符层,ui层。目前还没有好的方法将这些层统一为一种概念,排序也没有考虑,Game逻辑部分管理BG, ACTOR层。
typedef enum {
SF_BAD = -,
SF_HIDE, // effect使用
SF_PIC, // bg, actor
SF_POLY, // 绘制多边形
SF_SHEET // 绘制字符,粒子类
}surfaceType_t;
bg及立绘层定义
struct drawSurf_t {
int sort;
surfaceType_t *surface; drawSurf_t() : sort(-), surface(NULL) {}
}; struct srfPic_t {
surfaceType_t surfaceType;
ALLEGRO_BITMAP *image;
float sx, sy, sw, sh; //size ALLEGRO_COLOR color;
float dx, dy, dw, dh;
float cx, cy, angle; void Clear() {
surfaceType = SF_BAD;
image = NULL;
sx = sy = sw = sh = 0.0f;
color.a = ;
color.r = ;
color.g = ;
color.b = ;
dx = dy = dw = dh = ;
cx = cy = angle = ;
}
srfPic_t() {
Clear();
}
}; struct sheetSize_t {
float sx, sy, sw, sh;
float dx, dy;
}; struct srfSheet_t {
surfaceType_t surfaceType;
ALLEGRO_BITMAP *image;
ALLEGRO_COLOR color;
int numSheets;
sheetSize_t *sheets; void Clear() {
surfaceType = SF_BAD;
image = NULL;
color.a = ;
color.r = ;
color.g = ;
color.b = ;
numSheets = ;
sheets = NULL;
}
srfSheet_t() {
Clear();
}
};
Galgame引擎编写,图像层的更多相关文章
- Galgame引擎编写,实现对话文本显示
class cTalk { public: cTalk(); ~cTalk(); void Init(); void Shutdown(); void SetSpeed(int speed); voi ...
- [多平台]pymo – 手机上的 GalGame 引擎
[多平台]pymo – 手机上的 GalGame 引擎 介绍下这个能在手机上玩移植 GalGame 的游戏引擎,不知道有多少人听过呢?相信如果有喜欢在手机上玩 GalGame 的同学肯定听过类似的东西 ...
- sell01 环境搭建、编写持久层并进行测试
1 环境配置 JDK 1.8 MAVEN 3.5 MYSQL 5.7 VirtualBox 5.1 2 搭建MYSQL环境 下载 VM 和 虚拟镜像文件 虚拟镜像文件:点击前往 技巧01:安装完vir ...
- JavaScript是如何工作的02:深入V8引擎&编写优化代码的5个技巧
概述 JavaScript引擎是执行 JavaScript 代码的程序或解释器.JavaScript引擎可以实现为标准解释器,或者以某种形式将JavaScript编译为字节码的即时编译器. 以为实现J ...
- 阶段3 2.Spring_07.银行转账案例_5 编写业务层和持久层事务控制代码并配置spring的ioc
Service中就需要用到 TransactionManager中的方法.提供set方法等着spring注入 这里面所有的操作都可以加上事物控制 其他的方法都是相同的操作 这里没有返回结果 转账的方法 ...
- 大数据离线分析平台 JavaSDK数据收集引擎编写
JavaSDK设计规则 JavaSDK提供两个事件触发方法,分别为onChargeSuccess和onChargeRefund.我们在java sdk中通过一个单独的线程来发送线程数据,这样可以减少对 ...
- 编写 Model 层的代码
创建 App 这里把所有 Model 划分为三类:blog 相关.配置相关和评论相关.这么分的好处是便于独立维护各个模块,也便于在开发时分配任务. blog App 创建一个名为 blog 的 app ...
- 大数据离线分析平台 JSSDK数据收集引擎编写
JsSDK设计规则在js sdk中我们需要收集launch.pageview.chargeRequest和eventDuration四种数据,所以我们需要在js中写入四个方法来分别收集这些数据,另外我 ...
- 更加灵活的编写控制层的方法____结合eval函数
结合EVAL函数,我们可以把API放到测试用例那边去,就可以使用一个定位元素,测试用例可以使用多个API 发现eval里面可以拼接str.那么写成这样更顺眼 eval("self.d ...
随机推荐
- Java遍历所有网卡打印对应IP
import java.util.Enumeration; import java.net.*; public class Test { /** * @param args */ public sta ...
- 如何在dapper中获取刚插入行的ID
二话不说: 1.先建立个表 CREATE TABLE [dbo].[UserInfo]( [ID] [int] IDENTITY(1,1) NOT NULL, [UserName] [nc ...
- spring mvc处理流程概述
大部分Java应用都是Web应用,展现层是Web应用不可忽略的重要环节.Spring为展现层提供了一个优秀的Web框架-Spring MVC.和众多其他Web框架一样,它基于MVC设计理念,此外,它采 ...
- 深度(Depth)概念
强化对深度的理解 在老版本的NGUI中,UI的显示层次关系是依靠z轴进行的.在新版本的NGUI中,所有UI的z轴都被统一,然后用深度来决定和管理显示的层次关系.关于深度,要记住一下关键点: 1.每一个 ...
- 创建第一个UI
创建一个2D UI 制作UI时,首先要创建UI的"根".在Unity顶部NGUI菜单中选择Create,然后选择2D UI. 创建完成后,在Scene窗口中,NGUI自动生成了一个 ...
- 关于如何学好游戏3D引擎编程的一些经验[转]
此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 ——阿哲VS自己 QQ79134054多希望大家一起交流与沟通 这篇文章是 ...
- Excel Cannot Connect to SharePoint List
As I am working in SharePoint support, I come across so many issues on day 2 day basis and always tr ...
- RxJava开发精要4 – Observables过滤
原文出自<RxJava Essentials> 原文作者 : Ivan Morgillo 译文出自 : 开发技术前线 www.devtf.cn 转载声明: 本译文已授权开发者头条享有独家转 ...
- C# Http请求(GET/HTTP/HTTPS)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- centos6.5安装vbox
cd /etc/yum.repos.d wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo 下载跟CENTO ...