上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 33 下一页
摘要: 这篇继续上篇love2d游戏1--1942game(一),分为两部分,一游戏背景、玩家和敌机的显示,二子弹发射和计分。(注:一些全局变量放在了conf.lua里)一、游戏背景、玩家和敌机的显示这个游戏的背景用的是一个32*32的图片,怎么才能让其在整个屏幕上显示呢?其实只需要加载图片后,用for循环让其在不同的坐标处显示即可,代码如下:-- 绘制动态的背景 for i = 0,4 do --绘制5列 for j = -1,4 do --绘制6行 --绘制坐标随时间变化,y坐标增大32*scale,这里32为图片的宽和高 love.graphics.draw(img... 阅读全文
posted @ 2013-04-09 21:58 半山th 阅读(1090) 评论(0) 推荐(0) 编辑
摘要: 做播放器当然少不了播放列表,播放列表又好几种形式,一种使用另外的窗口,如千千静听;一种使用多标签,如酷狗音乐;一种使用停靠窗口,如QQ影音。由于我做的是播放器,是在4.3寸的屏上运行,便选择了停靠窗口。在Qt里停靠窗口是QDockWidget,它的显示区域如图,摘自Qt帮助文档。可以对它的属性进行一系列的设置,具体的看帮助文档。可是当我使用QDockWidget后发现,右边的列表居然占了屏幕一大半。于是我就用resize来调整它的大小,可是依然如故;接着我又把QListWidget加上resize,结果还是如此。没办法了,只好借助伟大的网络了,原来是“QDockWidget acts as a 阅读全文
posted @ 2013-04-09 17:14 半山th 阅读(7275) 评论(0) 推荐(0) 编辑
摘要: 这一路来我感觉对love2d已经基本了解,但对于如何做游戏还是不太熟悉,于是便有 看一些的love2d游戏代码的想法。1942game来自此处,版权归其作者我只是略作修改,我将分两篇来讲解,此篇为游戏启动画面。当我们玩游戏时,进入我们的第一个界面便是启动画面了,启动画面一来可以作为游戏的宣传,二来可以用来预加载游戏资源。我们可以先建一个类,在里面放上启动画面的代码,代码里放上状态变量和时间控制。然后在main.lua里检测状态变量的值,并执行相应的操作。具体如下:main.luarequire('splash')function love.load() font = love. 阅读全文
posted @ 2013-04-08 22:27 半山th 阅读(1510) 评论(0) 推荐(0) 编辑
摘要: 只要做一些可以运动的游戏,碰撞检测会成为家常便饭,简单的只要判断一下两个物体的坐标关系就可以了;复杂的则需要比较高级的算法。box2d里自带碰撞检测,它采用的是连续碰撞检测(在文档上看的,我也不知具体为何),可是我们并不想对整个游戏里角色都使用物理引擎。虽然可以只用它的碰撞检测,但是也挺麻烦的(不用box2d管理坐标,而是我们自己设置,之后把坐标传给box2d,再从box2d里获取)。而且我想做一个通用的碰撞管理类,我用box2d试了一下,可是它的坐标系是在物体中心,而love2d的坐标系是左顶点,而且我又比较懒,看到love2d的wiki上有做好的碰撞检测(叫hardoncollider), 阅读全文
posted @ 2013-04-05 20:21 半山th 阅读(1620) 评论(4) 推荐(0) 编辑
摘要: 本文简译自一篇老外的博客,写得不错可惜我翻译的太烂,简译如下。(key--value常见翻译为“键值对”,我翻译为索引、值)在这篇教程里我会介绍Lua中一个重要的概念: metatable(元表),掌握元表可以让你更有效的使用Lua。 每一个tabel都可以附加元表, 元表是带有索引集合的表,它可以改变被附加表的行为。看下例:t = {} -- 普通表 mt = {} -- 元表,现在暂时什么也没有 setmetatable(t, mt) -- 把mt设为t的元表 getmetatable(t) -- 这回返回mt 如你所见 getmetatable 和setme... 阅读全文
posted @ 2013-04-02 22:17 半山th 阅读(14020) 评论(10) 推荐(1) 编辑
摘要: 接上篇,今天又折腾了半天,终于可以解析grp文件了。 “金”的图片编码方式为rle8(行程编码),一个grp文件里存放一系列的图片, 图片编码的格式为:起始8个字节xxxx xxxx xxxx xxxx --xxxx表示两位二进制数,也是大端格式宽 高 x偏移 y偏移剩下的表示颜色数据,按行编码,每一行的第一个字节表示当前行所占的字节数, 第二个字节表示透明点的个数,接着的字节表示颜色点的个数,然后是颜色点的 颜色值,如此反复。ssss xxxx yyyy zz.......zz ssss xxxx yyyy zz......zz .... 阅读全文
posted @ 2013-03-29 19:58 半山th 阅读(1932) 评论(0) 推荐(0) 编辑
摘要: 这几天一直在收集资料,对于音频和视频的播放一直犹豫,不知道采用哪种方案好。后来发现了QtAV,一个用Qt封装FFmpeg、PortAudio v19的多媒体库。可惜作者没有告诉如何编译,让我折腾了两天,终于编译出来了。由于时间原因有些步骤记不清了,大概没问题。1、下载yasm,并编译2、安装sdl sudo apt-get install libsdl-dev3、下载ffmpeg1.2,使用./configure --enable-shared 配置,在make4、下载portaduio ,并编译5、下载QtAv ,可以另外新建目录存放二进制文件,比如qtavbin,这时可以使用如下方式编译c 阅读全文
posted @ 2013-03-27 18:04 半山th 阅读(843) 评论(0) 推荐(0) 编辑
摘要: Qt对图片有良好的支持,可以直接显示多种图片,不需要手动解码。代码写的不好,等以后把毕业设计做完后一起放出,下面只写一下思路。一、显示图片使用QLabel控件的setPixmap函数。二、图片的变换使用QMatrix类里的rotate函数可以旋转,使用QLabel里的resize可以变换大小。三、获... 阅读全文
posted @ 2013-03-25 16:38 半山th 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 昨天折腾了大半天参考了铁血丹心论坛里各位前辈的经验,还只是完成了一点,先记录一下,以后再补充。大家可以下载金庸群侠的dosbox版(以下简称“金”),资源文件在game目录下。一、文件纵览“金”的文件命名很有规律,图片文件分为“.idx、.grp、.col”,分别是图片索引、图片数据、调色板。图片索引里保存着对应图片在图片数据里的地址。若我们要载入第5幅图片,则先到.idx里其地址,软后到对应的.grp里取数据,取出后再按调色板显示。文件列表: 1.所有人物头像 hdgrp.grp hdgrp.idx 2.所有武功效果 eft.grp eft.idx 3.所有武功动作 figh... 阅读全文
posted @ 2013-03-25 16:01 半山th 阅读(2579) 评论(2) 推荐(0) 编辑
摘要: 游戏里如何存档是个问题,前几天有网友问到这个问题,我便找了一些资料看了一下。加密方法有很多,最简单的便是以下三种:1、移位比如a--z,每个字母都向后移动3位,这样"hello"加密后就变成了"khoor"了2、密码表按指定一个顺序表示,如规定h---w,e---o,l---r,o---l,这样"hello"加密后就成了"worrl"3、简单的四则运算比如a--z代表1--26,现在我们做规定x=(x+4)*3%26 ,这样"hello"加密后加变成了"javvq"现代的高级 阅读全文
posted @ 2013-03-24 22:32 半山th 阅读(885) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 33 下一页