showcase
版主
积分:203

OpenFace技术交流(第八轮:2010-01-08)

优秀开发者张贺的开发心得分享:
我主要做的是手机小游戏,出于个人喜好,我的开发以休闲小游戏为主,觉得游戏开发兴趣、UI和创意是很重要的。

UI方面
闲暇时,可以多上网玩一下小游戏,一般我遇到好玩的游戏,且公司审批可以做,就会截取该游戏图片放入PHOTOSHOP中加上个人的想法进行修改,我很注重游戏UI带给人的视觉冲击力,个人感觉,游戏吸引人与否,视觉感占得比重是很重要的;找不到合适的素材,我自己拼做的相对多一些;遇到有些很好图片但在本平台又不是很好实现的游戏,我会利用此图片并注入自己的思想进行开发。

背景音效
这个也是我注重的一方面,玩游戏有音效支持和没有我感觉区别是很大的,加上一个合适背景音效,可以让游戏增色很多。

创意和代码
玩的游戏多了,自然会有自己的想法,在做游戏计划之前,我也会去很多小游戏网站上试玩,自己感觉比较耐玩,可玩性高的,在运行速度支持的情况下,加入自己的想法,进行开发;游戏代码方面,不要对代码进行过于频繁重复的使用,尽量优化代码,这样可以确保游戏正常的运行速度。

我个人对所兼职的这份工作很感兴趣,加上闲暇时间比较充分,所以做游戏的速度相对来讲还可以。加入openface仅短短几个月,以后需要向大家学习的东西还有很多,也谢谢易路联动提供了这么好的一个平台可以让大家根据个人喜好进行随意开发,且没有时间限制,同时也满足了我们的物质需要,以后我会努力的。

开发者 :请问你刚才所说的小游戏是flash游戏吗 ? 那把action script移植到openface上工作量很大啊
张贺:是的。我个人认为,优化代码方面一般我不会过多的对代码进行重复,尽量简洁化。

开发者:关于如何把一个flash小游戏 移植到 openface平台?
张贺:我一般情况下是先在小游戏网站找到合适的游戏素材,首先是向公司提交计划申请,审批下来后,把游戏图片导入photoshop中融入个人想法进行作图 。

开发者:那就是说代码还是要自己写喽?

张贺:代码肯定是自己写。 图片做好之后我会按照自己的想法进行编写代码,游戏一般我都是边想边做的,就这些。

开发者:移植的时候声音是怎么处理的?用什么格式的声音? 我使用声音的时候总会先卡一下•••
张贺:声音格式是我在一些音效网站自己下载后放上去的。

开发者:那• 在使用的时候不会突然卡一下么?主要是每次在程序中调用声音的时候会导致整个程序停顿一下下
张贺:我遇到这种那个情况,我会换音乐的。

开发者:可以用录音机内录的嘛?
张贺:自己录的杂音后期不好处理。音效网站我可以推荐给大家闪吧,这里面的音效很全面,也非常适合游戏用 。

开发者:那一般选用多大的音乐呢?就是文件一大,手机内存如果紧俏,加载可能要迟钝一下。
张贺:那要和你做的图片大小进行合理调配 ,我的音效一般都用100KB以下的 。

开发者:呃••• 上次用的是10KB的••• 会卡•••那种 mid格式的
张贺:我咨询过,我用的一般都是mp3或WMA格式的 。

开发者:就是比如说 遇到需要绘制很多小图片怎么办?就是在 某些游戏中 图片背景是由很多个小图片拼起来的 而且可能会变化•• 这样的话每个都用一个view显示么?
张贺:是的,我就是每个都用一个view显示 。

开发者:是不是对PS要求很高?
张贺:从falsh中截取或者在百度图片库中找,没有合适,我都会自己做 。也不会太高啦,一般会photoshop的都可以啦

开发者:view如果需要动态生成的时候 大家是怎么处理的呀
张贺:有动态生成的函数

技术支持专家答复:

开发者:动态生成一些text 是这样吗? var arr = new text(3)吗?
Openface:大家在开发的时候,可以看看下面的文件:
emulator\Drivers\C\root\eloo\lib\efc.js
在EFC.JS文件中,有以下语句:
var LzText = Class.make("LzText", LzView, "efcj.ui.Text", "text");
也就是,你能够在JS代码中通过new LzText生成text对象
其他的对象生成也是一样的

开发者:openface是否支持其他js框架啊?
Openface:目前openface所支持的js是按标准的js来支持的,但是不是全部都给予了支持,所以,我们的js是标准的一个子集,对于框架的支持,就不一定了。我们的openface支持xpath查询,大家可以参考编程手册关于data部分

开发者:程序测试的时候 应该以什么为主?模拟器 还是手机? 呃,似乎不同的手机的兼容性还不一样啊••
Openface: 模拟器为主,因为各个不同型号的手机,由于底层的不完全一致性,有时候是会表现不一样的

开发者:我做的一个游戏,就是图片和声音都不算大,但是在模拟器中会出现局部黑屏,请问这是什么原因?
Openface:那是因为内存不足导致的。目前的openface正在大幅的优化对内存的使用量,在未来的3.0中内存的问题会得到很好的解决。就目前2.1来说,一般应用内存使用量大约在10M左右,我们的目标是减少到5M甚至是2m

开发者:我问个智障的吧:wm版本的平台目前是1.1版本,但是怎么安装啊 我在论坛上http://www.openface.org.cn/node/486看到是按send键然后输入一个url 那个url是啥?要下载什么东西?如果我不下载直接拷贝行不行?wm下拷到哪个目录?找不到论坛上介绍的“data/root/desktop”目录啊
Openface: wm系统的支持,目前只支持到了openface1.1版本,对于2.1的应用是不支持的,抱歉!

开发者:那就是说我用2.1开发应用 在1.1player上跑不起来了?
Openface:对的,因为底层平台的支持问题,是运行不起来的。因为2.1的特性 》1.1

开发者:比如要做一个新闻类的,内容都是实时更新的,大概怎么个流程
Openface:这类应用的实现,一般建议采用C/S来实现。

开发者:服务端是不是可以用JSP来获取,把信息存储到服务器,再由客户端来加载。
Openface:通过servlet来定时采集新闻内容,存放可以采用数据库,这样速度也比较快一些

开发者:这个是打算以后将模拟器部分固化在手机中么? 还是以后推出脱离模拟器的widget?

Openface: widget的运行是脱离不开支撑它运行的环境的,我们的openface提供了从底层接口到上层sdk api的封装,所以,我们提供的是一整套方案。

开发者:恩•• 以后应该不单单是智能平台上的了吧?
Openface:像J2ME那样的widget,那是由于大部分手机都支持了MIDP,所以才能做到。如果以后的手机默认都支持openface,那用openface开发的widget也就方便多了。openface的目标不单单是智能手机,我们公司内部的开发全部都是基于Mtk这种中低端手机平台,毕竟中低端的市场才是最大的,呵呵

开发者:服务器上是什么DB呢,我们的访问权限呢?
Openface:我们的服务器有多种数据库支持,对于访问权限,由于安全问题,我们不便透露

开发者:不是,我们要用程序访问DB,要连接得有地址,用户名密码的嘛
Openface:这个没有关系,因为我们有代码,我们会进行相应的修改

开发者:我能够动态的生成一些view的对象吗? 比如:var arr = new view(4) 然后再在代码中设置每个view的属性
Openface: 可以

开发者:能不能开发完了转换成iphone的app
Openface: 不能

15
游民
积分:10

Hi