【FOL】第一周
本来打算按计划做下去的,发现原来那个sprite虽然功能强大,但是对我想要做的东西来说,冗余似乎有些多,决定自己写一个。
之前做了一段时间的h5游戏,用的是panda.js,发现这个引擎封装的还不错,代码很简洁,决定借鉴着来写自己的delphi game sprite。
这周成果:
1、设计了一个gamesystem类,用来对游戏状态控制、场景创建与销毁、鼠标消息(touch)、键盘消息等等进行一个统一的调度。调用方法:
game.createscene(scenename);
game.renderscene(sceneobj, mousedata);
{
"key": "fol.module.home",
"objs": [
{
"type": "ui.simpleimage",
"name": "homewnd",
"prop_image": "home_img_bg",
"prop_rect": "x:0 y:0 w:960 h:393",
"prop_zorder": 0,
"prop_align": "alClient"
},
{
"type": "ui.simpleimage",
"name": "homewnd.msg.bg",
"prop_image": "home_img_msgbg",
"prop_rect": "x:0 y:393 w:960 h:40",
"prop_zorder": 0,
"prop_align": "alBottom",
"objs": [
{
"type": "ui.simpletext",
"name": "homewnd.scrollmsg",
"prop_rect": "x:20 y:10",
"prop_zorder": 0,
"prop_fontname": "Tahoma9b",
"prop_fontsize": 18,
"prop_fontcolor": "#FF989898",
"prop_text": ""
}
]
}
]
}
2、实现了一个GUI系统的雏形,实现按照ui配置文件加载ui资源,支持嵌套ui、静态图片、静态文本、按钮。调用方法:
function createContainer(const pvParent: TFOLSceneObj; const pvName, pvRectSet: string): TFOLUIObj;
function createSimpleImage(const pvParent: TFOLSceneObj; const pvName, pvRectSet, pvImageName: string): TFOLSimpleImage;
function createSimpleText(const pvParent: TFOLSceneObj; const pvName, pvPointSet, pvText: string): TFOLSimpleText;
function createButton(const pvParent: TFOLSceneObj; const pvName, pvRectSet, pvImageName: string; const pvMsgcode: Integer; const pvText: string = ''): TFOLButton;
function createRichText(const pvParent: TFOLSceneObj; const pvName, pvRectSet, pvText: string): TFOLRichText;
sprite.createSimpleImage(...);
sprite.createSimpleText(...);
sprite.createSimpleButton(...);
代码和调用方式用起来还是很爽的。
3、实现了按钮点击事件的触发。
4、完成了图片工具的并图功能。
5、完成了图片工具的图片转配置功能。
基本上按现在的功能,只要通过配置,就可以实现一个游戏的所有界面功能了。当然前提是不用一些比如radiobutton、checkbox、richtext、list之类尚未实现的控件。
接下去应该会把我之前设计的整个游戏的所有界面配置起来,先看着爽一下。为了尽快看到效果,暂时应该会先封装个临时的类来写各种交互,后期等lua系统接入后,再移到lua去做。
然后,就是最难啃的那块了,战斗系统。
估计接下去的一段日子会特别忙了,不一定有时间再做这个了,慢慢来吧。
最后,说说做FOL的原因吧。
1、算起来,也做了有4-5年的游戏了,写脚本、写服务端逻辑、写客户端代码、设计等等几乎做游戏的活都干过,就萌生了自己一个人搞一个游戏的想法。
2、从毕业到现在,用delphi用了10几年了,中间虽然工作原因,c++、c#、java、js、oc等等都用过做项目,但是一直难以彻底放弃delphi。最近xe搞的蛮不错的,起码跨平台这块帮助我把第一个pxl demo(不是basic,而是那个小松鼠demo)在手机上运行起来,让我有一些小小的感动。所以决定就用delphi来写游戏,希望今后这个项目能让广大delphi爱好者多一个有趣的选择吧。
3、在游戏行业混迹几年,发现市面充斥着太多自己不喜欢的游戏了。做FOL就是决定做一个自己喜欢,完全由自己设计并实现的游戏。
嗯,有兴趣的朋友欢迎交流。
【FOL】第一周的更多相关文章
- 第一周 总结笔记 / 斯坦福-Machine Learning-Andrew Ng
课程主页:https://www.coursera.org/learn/machine-learning/home/welcome 收集再多的资料也没用,关键是要自己理解总结,做笔记就是一个归纳总结的 ...
- Surprise团队第一周项目总结
Surprise团队第一周项目总结 团队项目 基本内容 五子棋(Gobang)的开发与应用 利用Android Studio设计一款五子棋游戏,并丰富其内涵 预期目标 实现人人模式:2个用户可以在同一 ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 20145206邹京儒《Java程序设计》第一周学习总结
20145206 <Java程序设计>第1周学习总结 教材学习内容总结 1.三大平台:Java SE.Java EE与Java ME.Java SE是各应用平台的基础,分为四个主要的部分: ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337《JAVA程序设计》第一周学习总结
# 20145337 <Java程序设计>第1周学习总结 ## 教材学习内容总结 第一章 -Java最早是Sun公司撰写Star7应用程序的程序语言 -根据应用领域不同,有Java SE. ...
- Linux内核设计第一周 ——从汇编语言出发理解计算机工作原理
Linux内核设计第一周 ——从汇编语言出发理解计算机工作原理 作者:宋宸宁(20135315) 一.实验过程 图1 编写songchenning5315.c文件 图2 将c文件汇编成32位机器语言 ...
- 20135328信息安全系统设计基础第一周学习总结(Linux应用)
学习计时:共xxx小时 读书: 代码: 作业: 博客: 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令/ ...
- 20145208 《Java程序设计》第一周学习总结
20145208 <Java程序设计>第X周学习总结 教材学习内容总结 这几天我学习java的基础内容,这几天我学习了java的基础内容,从教材上面我了解到了java是一种程序语言,但他又 ...
随机推荐
- Atitit 修改密码的功能流程设计 attilax总结
Atitit 修改密码的功能流程设计 attilax总结 1.1. 注意点1 1.2. 设计修改用户密码功能时把用户ID保存在哪里?1 1.3. Ui设计1 1.4. 功能设计源码1 1.5. Agt ...
- Java面试(3)-- Java关系运算符
class Demo03{ public static void main(String[] args){ //关系运算符 == //例1 int a = 10; int b = 10; double ...
- 使用动态类型dynamic让你的省了很多临时类
客户端与服务端的数据交互使用的数据格式是json格式,为了使客户端与服务端有类对应关系,进行序列化,所以总要定义一些类,使用动态类型dynamic可以不必要定义那么多类. 测试代码: using Sy ...
- 分享.NET系统开发过程中积累的扩展方法
.NET 3.5提供的扩展方法特性,可以在不修改原类型代码的情况下扩展它的功能.下面分享的这些扩展方法大部分来自于Code Project或是Stackoverflow,.NET为此还有一个专门提供扩 ...
- JS中的匿名函数
整理自:http://www.cnblogs.com/playerlife/archive/2012/10/17/2727683.html 一.什么是匿名函数? 在Javascript定义一个函数一般 ...
- 【Discuz】-QQ互联登陆提示错误信息:Unknown column 'conuintoken' in 'field list'
提示信息 discuz! Database Error(1054) Unknown column 'conuintoken' in 'field list'REPLACE INTO common_co ...
- HashSet中实现不插入重复的元素
/* 看一下部分的HashSet源码.... public class HashSet<E> extends AbstractSet<E> implements Set< ...
- Cocos2d-x 3.2 学习笔记(十三)CocoStudio UI编辑器 by 保卫萝卜
关于编辑器部分研究的不多,但基本能使用.最近时间不是很多,因此写blog的次数越来越少了.自从玩了<保卫萝卜>时候一直想要写一下,同时练下手感.基本的结构已经写的差不多了,主要完善写UI和 ...
- [转载]UML时序图总结
前言 在我的工作中,用的最多的就是时序图了.可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过 ...
- REST API出错响应的设计
REST API应用很多,一方面提供公共API的平台越来越多,比如微博.微信等:一方面移动应用盛行,为Web端.Android端.IOS端.PC端,搭建一个统一的后台,以REST API的形式提供服务 ...