安卓游戏 游戏发展国 如何拿最高奖

我是如何从0开始,在23天里完成一款Android游戏开发的 – Part6– 第15至第17天 - ImportNew
| 标签: , ,
本文是这个系列的第六篇文章,记录作者在第15至第17天的情况。如果你也希望参与类似的系列文章翻译,可以加入我们的和 小组。
第15天: Android“后退”按钮、主菜单、固定坐标bug
还记得第11天屏幕坐标和鼠标点击射击不到外星人的问题吗?是的,那都是我的错。幸运的是这让我及时发现了很多下载游戏的Android用户屏幕分辨率并不是800×400。在那之前我是这样直接转换触摸坐标到实际坐标:
float x = Gdx.input.getX() - 240f;
float y = 400 - Gdx.input.getY();
这不是正确的做法。简单恰当的办法是通过GDX进行转换 :
Vector3 touchP
touchPos.set(Gdx.input.getX(), Gdx.input.getY(), 0);
camera.unproject(touchPos);
在上处理“返回”按钮
大多数网上的例子在处理“返回”按钮时都谈到重载KeyDown方法。不幸的是这种办法要求使用Stage,我没有这么做。我知道现在的代码里复制了很多Actor和Stage,但那不重要。在下一个项目里我才会使用Stage。
幸运的是,我找到了解决办法。只要在Game子类的create()函数里添加下面函数:
Gdx.input.setCatchBackKey(true);
然后在render()方法中检查否已经按下“返回”按钮:
if (Gdx.input.isKeyPressed(Keys.BACK))
Gdx.app.exit();
由于render()每秒钟会被调用很多次,你可能需要一个boolean标记变量来检测“返回”按钮是否已释放。
if (backReleased && Gdx.input.isKeyPressed(Keys.BACK))
backReleased =
Gdx.app.exit();
backReleased =
现在可以进入游戏,进入商店菜单,然后返回主菜单。当然,菜单只显示选项,还没有真正实现功能。
使用9-patch处理动态大小的按钮和容器
译注:9-patch一个对图片做处理的工具,能够为生成一个的图片实现部分拉升。
我还学会了如何使用9-patch创建漂亮的按钮。有一次,我意识到不得不像绘制10个大小不同的选项按钮,但样子基本上一模一样只有里面的内容不同。我甚至参考了Gdx按钮,但最终还是决定自己DIY一个。在我游戏里,按钮有一些特殊需求,在一个文本按钮里要结合了2张图、4个文本以及2种不同字体。
无论如何,我得画一个包括所有按钮尺寸和其他的东西的46×46 9-patch图片,然后写一些代码定制其他覆盖在图片上面的东西。我在构造函数里通过TextureRegion从大皮肤里提取9-patch。减掉了一个皮肤开关。
通过这种处理使我得以有各种不同的选择来填充主菜单,同时我还加入了滚动字幕给出玩法提示。我真的很喜欢这个概念,但很少有游戏使用它。有的游戏只显在一开始的时候有个提示。也许他们不想让玩家看主菜单时分心吧。
下面是购买强化道具的商店菜单:
关于道具我又有了一些新点子。一种是可以暂时让外星人减速,另一种是在短时间内积分x5。我正在考虑移除之前商店里的“双倍积分”道具。有些玩家真的很能得高分,所以这可能是一个坏主意。
另一方面,在下次装弹前能增加射速的道具可能会大受欢迎,所以我正在加入。
我希望商店能保持只有7个道具,这样就能刚好在一个屏幕内显示。但现在我不肯定所有可能的升级……拭目以待吧。
第16天:从游戏中录制影片
视频地址:
我曾想过在YouTube上传游戏视频,然后用recordmydesktop程序录制,但结果一团糟。由于libGDX和RMD不同步,我在屏幕上看到的是一堆零件,诸如被切掉了一半的精灵等等。我搜索了一下发现了几篇有用的文章。基本上都是将每帧做成一个PNG文件然后组成视频。可以想见这么做会耗费大量的磁盘空间,这对我不是大问题。我发现了一个很有用的帖子:
然而,他们的代码有一些问题。出于某种原因,当我用半透明精灵叠加在背景上时,由此产生的PNG文件在那块区域会出现半透明像素。这样生成的视频会有很多乱七八糟的东西。我尝试了不同的设置,甚至改变渲染代码,但问题依旧。现在,只要一个简单的处理步骤——使用ImageMagick(加入黑色背景)就可以解决这个问题。所以我想,如果无论如何都要做这步处理,我可能还要在ImageMagick中做垂直翻转。所以我关掉了代码中的Y轴翻转,这使得它更有效率,从而没有必要在每一帧中分配w *h*4个字节的内存。在800×480的屏幕上,每一帧大约需要1.5MB!
同时,处理帧率(跳帧)的代码没有怎么优化。处理过程跳过了几个文件号,这没什么问题。但同时还给每帧还创建了对应的ScreenShot对象,这完全没有必要。譬如你正在录制30fps的视频而游戏运行速率是60fps,你花了一半的时间在创建完全用不到的对象上。
最后,FPS处理代码似乎没有释放像素图。所以如果你运行了很长的时间,RAM会被吃光。
所以,我从ScreenShot类里提取出了全部的FPS代码,剩下的代码只负责处理连续视频。我还注意到一些变量有初始化但从未使用过。现在ScreenShot类变得更加直观并且易于理解:
public class ScreenShot implements Runnable
private static int fileCounter = 0;
public void run()
saveScreenshot();
public void prepare()
getScreenshot(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
public void saveScreenshot()
FileHandle file = new FileHandle(&/tmp/shot_&+ String.format(&%06d&,
fileCounter++) + &.png&);
PixmapIO.writePNG(file, pixmap);
pixmap.dispose();
public void getScreenshot(int x, int y, int w, int h, boolean flipY)
Gdx.gl.glPixelStorei(GL10.GL_PACK_ALIGNMENT, 1);
pixmap = new Pixmap(w, h, Pixmap.Format.RGBA8888);
Gdx.gl.glReadPixels(x, y, w, h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, pixmap.getPixels());
好了,全部就这么多。我在渲染循环中的每个渲染结尾加上了:
ScreenShot worker = new ScreenShot();
worker.prepare();
// grab screenshot
executor.execute(worker); // delayed save in other thread
考虑到完整性,在Screen的子类添加了executor:
private ExecutorS
executor = Executors.newFixedThreadPool(25);
现在,在我的酷睿2已经赶不上帧率了。这是好消息,一方面因为游戏速度变慢我能够录下更好的视频,另一方面能更好地记录截图以供稍后导出视频。所以我添加了一个截图热键。在按住S键时开始录制,当你只是记录了一些有趣的片段,松开S键让PNG writer赶上进度。当CPU的负荷恢复到正常,意味着PNG都生成好了,你可以再次开始录制。
这种方式创建的视频很容易编辑。只要删除不需要的PNG文件,用剩下的压制视频即可。而且这种方法也很容易与音乐同步,因为可以随意添加或删除帧。
用截图生成YouTube视频
由于Android屏幕默认分辨率是480×800,而最接近YouTube的分辨率是。因此需要将图像缩放到432×720 ,以保持宽高比。这样两边会多出很多未使用的面积。你可以把你的logo、广告贴上去,甚至可以并排显示两个视频。我决定用另一段视频填补空白,那是我用一台手持设备拍摄的,所以图像更小只有372×620。
现在,我创建了一个大小0包含了logo的静态图像。现在我把它混合进游戏,并垂直翻转。在Linux上,我使用这样的命令:
for i in shot* do echo $i; convert $i -flip -filter Lanczos -resize 372x620 temp1. composite temp1.png back.png -geometry +126+56 $i; done
一旦所有的图像都准备就绪,就可以运行MEncoder来导出视频。YouTube建议720p的视频采用H.264格式和5000以上的比特率 。他们还建议两个B帧(RGB)。这里是执行的命令:
mencoder mf://shot*.png -mf w=1080:h=720:fps=25:type=png -ovc x264 -audiofile music.mp3 -oac copy -o movie.avi -x264encopts bitrate=5000:bframes=2:subq=6:frameref=3:pass=1:nr=2000
这样就生成了一个质量过硬的YouTube游戏视频。在这篇文章的开始,你可以看到我的成果。至于音频,我只是提取了一些游戏的音轨并没有捕捉实际游戏中的音频。
第17天:Android图标、完成道具
我喜欢Android允许(甚至建议)图标不是圆角矩形。这样可以赋予游戏自己的个性风格。起初,我考虑过给这游戏做一个特殊的图标,但我真的非常非常喜欢这个画着外星人像素图形的盾。我用Inkscape制作,这样就可以输出任意大小的图片(而不像在GIMP下制作的其他一些图形)。献上Drone Invaders官方图标:
丰富的道具
下面的视频显示所有收藏的强化道具:
我准备了原子弹,但名字还没有最终确定。也许会叫核弹、钚炸弹、智能炸弹或完全不同的东西。它会摧毁屏幕上的一切。Boss能抵挡一两个,但遇到三个炸弹一样完蛋。在系统内部,每个Boss有20点血而炸弹有8点的伤害。普通攻击就是1点伤害,除非你升级激光。
其次,有3路散弹。射击三次仍然要更换弹夹。这是一个非常强大的道具,有了它,真是人挡杀人佛当杀佛,清理掉一波波的怪物和boss。
第三,自动重装填。正如名字那样,你的激光会自动加载。所以可以自由地射击,射击,再射击。
第四,减速。它只是减缓外星人的移动速度,其他一切速度正常。在前20关这玩意儿相当废柴。但越到后来,你就越觉得它有用。
第五,双倍积分。在道具作用期间,获得的点数翻一倍。我仍然在考虑是否要在达到某个分数的时候给予奖励,但达到高分仍是一件很酷的事情。
原文链接:
- 译文链接: [ 转载请保留原文出处、译者和译文链接。]
关于作者:
二流程序员,三流作家,不入流极限运动员(新浪微博:)
微信关注: ImportNew
分享Java相关的技术文章、工具资源和热点资讯。扫描加关注,碎片时间提高Java开发技能!
必须给 intelliJ
,跑起来 飞起飞起的! 强悍的 调试,用了你就会...
关于ImportNew
ImportNew 专注于 Java 技术分享。于日 11:11正式上线。是的,这是一个很特别的时刻 :)
ImportNew 由两个 Java 关键字 import 和 new 组成,意指:Java 开发者学习新知识的网站。 import 可认为是学习和吸收, new 则可认为是新知识、新技术圈子和新朋友……
– 写了文章?看干货?去头条!
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 活跃 & 专业的翻译小组
– 国内外的精选博客文章
– JavaScript, HTML5, CSS
– 专注Android技术分享
– 专注iOS技术分享
– 专注Java技术分享
– 专注Python技术分享
新浪微博:
微信号:importnew
反馈建议:@
广告与商务合作QQ:
& 2015 ImportNew欢迎来到应用汇!请
游戏发展国 英文版
2.3万-2.4万下载 / 2人喜欢 / 50人评论
大小:5.67M 更新:
评价很高的经营类游戏
游戏发展国 英文版 介绍
游戏发展国 英文版
在日本排行第一的模拟经营类游戏,界面让人耳目一新,不容错过。
在这款模拟经营游戏中,你需要管理自己的游戏公司,并尝试设计出独特的百万畅销的游戏。游戏中你需要统筹规划好公司的发展,招聘各种专业人才,厘定员工的工资,让你的公司健康运行,最终获取游戏开发大奖赛。
游戏发展国 英文版 历史版本
游戏发展国 英文版 版本更新
用户对 游戏发展国 英文版 评论
这是英文版的?有中文版的
怎么样呢?
好玩吗?怎么玩?
资产503,963,899万,最高销量72,948,862套,发布游戏163套,殿堂102套,每年所有奖项收入囊中。
25年,资产4,294,726万,发布游戏40套,殿堂级36套,最高销售数34,356,590万套。最佳图像1次,最佳音乐16次,银奖18次,最高奖1次。挺不错的游戏
亲,想发表评论请下载哦~
发现该应用有下载安装使用错误或恶意扣费携带病毒,请
100-200下载
2.4万-2.5万下载
游戏发展国 英文版
可安装 无法启动
屏幕适配有误
版本太旧需要更新
您的举报信息将会同步到工信部12321举报平台
AppChina 应用汇QQ群:
应用汇开发者交流开发群:
网游玩家客服QQ:
换量合作QQ:
微博/微信联系人QQ:
网游合作QQ:
单机合作QQ:
友情链接QQ:
反馈邮箱:
广告合作:当前位置:&&
安卓游戏发展国修改版无限金币下载
来源:作者:弯弯发表时间:
安卓游戏发展国是一款非常有趣的经营类型游戏,因为这次玩家将不只是玩游戏,而是要在游戏里开间游戏公司研发游戏,体验经营游戏公司的种种挑战。今天小编为大家带来的就是安卓游戏发展国修改版无限金币下载,使用游戏发展国修改版可以任意的使用购买道具,再也不用拘束游戏平台合约、游戏开发费用、广告宣传费用、游戏大展等等需要大量金币的场所。【破解说明】1、本版本为直装版,无需root2、获得研究数锁定为888642,初始化金钱为!
【责任编辑:弯弯】
手机上看攻略 独家礼包等你拿
12345678910
周排行榜月排行榜

我要回帖

更多关于 安卓游戏 的文章

 

随机推荐