- 博客(91)
- 资源 (26)
- 收藏
- 关注
原创 我发布在Steam的两款游戏
https://store.steampowered.com/app/850110/https://store.steampowered.com/app/892490/
2020-06-08 17:30:56
688
2
原创 猜数字游戏设计原理
猜数字游戏:总共有四个空,让玩家猜四个0~9有序不重复的数字。如果一个数位置和数字都正确,就得到了一个A;如果一个数位置不对,数字对,就得到了一个B。每次玩家猜完之后告诉玩家他得到了多少个A和多少个B。原理:首先我们用一个长度为4的一维数组保存这四个数,使用随机函数产生第一个数,
2020-06-08 17:25:56
4580
1
原创 Game Maker Studio 2表示进入/离开碰撞体
Game Maker Studio 2表示进入/离开碰撞体(作者Jether,主页https://store.steampowered.com/developer/Jether) 相比于Unity的进入/停留/离开碰撞体,GMS2只有停留这一项,可以用其他方法实现。 物体的变量定义:OtherId 0 IntegerIsStay Fasle...
2018-12-09 15:01:18
13180
原创 第4节 角色状态的改变——Flash ActionScript3游戏开发入门教程
游戏开发中很重要的一点就是状态的使用,不论是角色的状态,还是游戏的状态。要在Flash中使用状态,以角色的状态为例,在类中定义如下常量:public static const STATE_INIT:int = 10;public static const STATE_WALK:int = 20;public static const STATE_RUN:int = 30;其中数
2013-04-15 09:31:36
366
原创 第3节 把as绑定到元件和面向对象的程序设计——Flash ActionScript3游戏开发入门教程
这一节我来介绍一下如何在as3游戏中应用面向对象程序设计。查看元件属性,确保它是如下图所示的:然后点击一下这里:这时候会新弹出一个脚本页面,我们先Ctrl-S保存,名字为Player.as,这个就是元件的绑定类。元件对象也具有ENTER_FRAME事件,使用这个事件可以让元件动态刷新,但是我非常不建议这种方法,因为如果你有很多元件对象,每个对象的加载顺序不同,会导致
2013-04-15 09:31:26
337
原创 第2节 元件和游戏轮询的使用——Flash ActionScript3游戏开发入门教程
现在我来介绍一种Flash特有的类——元件。元件的概念有些类似于GUI编程的控件,但是Flash的元件种类更少(只有三种:图形、按钮、影片剪辑),而且更容易自定义画面。点击“插入”菜单->“新建元件”,弹出一个对话框:注意红框部分要和图片保持完全一致,除了元件名称和类名,这两个只要保持一致,并且用类名的大写首字母命名风格就可以。然后在弹出的对话框中点“确定”,对话框下边有个复选
2013-04-14 10:38:24
433
原创 第1节 使用as文件——Flash ActionScript3游戏开发入门教程
大家好,我是Jether,这是我的新教程《Flash ActionScript3游戏开发入门教程》,此教程,我将使用Flash Professional CS5.5作为开发环境,如果您用的是别的版本的,请尽量保证版本在CS4以上,以免出现不可预计的问题。我们打开Flash CS5.5,如图所示:我先要提一个东西,在界面右上角的最小化、关闭按钮的左边,有一个搜索栏,这个大家找一下,搜
2013-04-14 10:38:16
413
原创 大家来找茬游戏——经典益智游戏制作方法手稿
大家来找茬游戏,这个游戏估计做起来最简单了。制作步骤是,先弄到一张图片,可以是数码照片,然后Photoshop上。Photoshop用在这里有两个功能最常用,一是抠图,一是替换颜色。抠图需要用到钢笔路径工具,这个东西,读者可以自己去搜索视频学习,文字学习我感觉学这个不太合适。替换颜色的话,就搜索文章就够了。至于游戏中图片切换动画的方法,这个得具体问题具体分析,这里就不说了。鼠标在一
2013-04-14 10:38:09
902
原创 铺地板(吹蜡烛)游戏——经典益智游戏制作方法手稿
网上的《牛牛吹蜡烛》游戏。铺地板(或叫“吹蜡烛”)游戏的制作比较简单。只是一个二维数组,当第(i,j)个改变(地板变颜色,或者蜡烛点亮/吹灭)的时候,第(i-1,j)(i+1,j)(i,j-1)(i,j+1)同时改变,需要注意边界情况。还有一点,这类游戏貌似有通用解法,这个我没有研究,需要注意的是所有关卡是否可以解开,应该制作人员亲自测试一遍。
2013-04-14 10:38:02
639
原创 连连看游戏——经典益智游戏制作方法手稿
以下是网上搜来的一个连连看游戏图片,还是诺基亚上的:这种游戏看起来很简单,但却包含一个复杂的图论算法。地图都是方格组成,使用二维数组实现,这个很简单。至于怎么样做到“两拐以内”就能消,这要用到一个图论路径算法,迪杰斯特拉、弗洛伊德,还是A*算法,这三种哪个好我还没研究过,暂时请读者自行研究。有的时候方块消完后,会有所有的方块向一个方向掉落的玩法,这也很简单,只要判断那个方向的方
2013-04-14 10:37:52
621
原创 贪吃蛇游戏——经典益智游戏制作方法手稿
以下是网上随便找的一个贪吃蛇游戏图片:首先,地图是由N多个同样大小的方格拼接而成的,食物和景色(就是图中的草)都是随机生成的。主要是蛇的问题,蛇可以看作是一个整体,也可以看做是很多个部分组成的。先把它看成是整体,这时蛇的方向永远都看做是前,输入“左”或者“右”,蛇会在下一个行动中转头,输入“前”,蛇会加速,输入“后”,我认为大部分设计人员不会希望让蛇减速。我们再把它看成是一块一
2013-04-14 10:37:44
358
原创 经典益智游戏制作方法手稿系列教程篇首语
这系列教程我加了个篇首语。之所以叫“手稿”,是因为这系列教程会写得很潦草,很凌乱,大家凑和着看吧。这一系列教程中必会出现的游戏有:贪吃蛇、猜数字、扫雷、五彩连珠、连连看。欢迎大家留言或者来信补充,电子邮箱地址在首页的个人介绍中有。另,本系列教程不包括棋牌类游戏。再另,这篇日志可能会成为这一系列的目录。
2013-04-14 10:37:34
393
原创 第6节 视口、镜头和游戏状态——XNA4.0 2D游戏开发入门教程
先说视口,视口就是Viewport,在《XNA4.0学习指南》中是用于多人游戏分屏显示的,其实其他的地方也可以用。视口可以控制在游戏窗口中实际显示的内容,可以让内容比整个窗口小,更可以是窗口的一半,所以就有了用于分屏显示的用途,但是其他时候也能用。我们在Game1.cs中定义字段private Viewport vp1,在Initialize中的最前边写上如下代码:
2013-04-14 10:37:24
345
原创 第5节 键盘输入和人工智能简析——XNA4.0 2D游戏开发入门教程
看了上一节的朋友有可能会大呼上当,因为无论添加多少个角色状态,游戏角色都还会保持一开始的图片显示,这是因为我们需要改变角色状态的条件。改变的条件往往有两个,一是用户输入,一是根据其他数据(时间、其他角色的情况)来改变。先说用户输入,我喜欢把键盘输入放在一个地方单独管理。因为不论是程序员还是玩家,都有可能自定义按键,所以我用一个哈希表来存储按键对应关系。按键分为游戏控制中的按键和实际键盘
2013-04-14 10:37:16
402
原创 第4节 角色的状态、运动分析和简单的碰撞检测——XNA4.0 2D游戏开发入门教程
既然游戏角色有好几张图片,那么根据什么决定使用哪一张图片呢?一个常见的好方法是给角色类加一个枚举,枚举是角色的各种状态,然后在Update或者Draw中写一个switch,根据这个枚举选择显示哪张图片。有的时候,会有需要状态组合的情况,比如状态有走路、站立,也有开枪和不开枪,组合之后就是走路开枪、站立开枪之类的状态,这时可以使用C#的标志枚举,用法如下: [Flags]
2013-04-14 10:37:09
392
原创 第3节 建立第一个角色——XNA4.0 2D游戏开发入门教程
我们有一个大的思路,那就是现在有一个Game1类,它是启动类,并且,它的Update和Draw函数被每帧每帧地调用。我们可能有很多角色或者是其他的游戏元素,他们实现了一个接口,这个接口中有Update和Draw的定义,然后Game1的Update和Draw调用它们。这样就是简单的XNA架构。所以我们新建一个接口,叫“IRole”,定义了方法Update和Draw,它的代码大概是:
2013-04-14 10:37:01
501
原创 第2节 轮询机制和帧率——XNA4.0 2D游戏开发入门教程
新建项目(我起名为“Smartoys”)后,VS中出现一个新的解决方案,里边有两个项目,如图所示:可以看到,一个是Smartoys项目,一个是SmartoysContent项目,前者用于保存解决方案的代码,后者用于提供资源,比如图片、声音等。我有个习惯,那就是新建一个没接触过的东西的项目后,立刻会点击编译运行按钮,这时出现这样的窗口:窗口中什么都没有,只有浅蓝色的背景,
2013-04-14 10:36:53
413
原创 第1节 XNA4.0开发环境的安装——XNA4.0 2D游戏开发入门教程
XNA4.0 2D游戏开发入门教程此教程是我在看完《XNA4.0学习指南》电子书后,做了一个游戏之后写的,一些用了那本电子书的内容,但是也有自己添加的内容。本教程适合人员:有C#和面向对象编程基础第1节 XNA4.0开发环境的安装首先,安装VS2010,具体过程省略,但要注意一定是2010版本的,一定不能是之前的版本,并且一定包含了C#语言。其次,到http://create.
2013-04-14 10:36:44
481
原创 碰撞检测的选择和策略模式
使用此模式之前,你可能有一个角色,它的碰撞检测方法(C#属性)如下: Rectangle CollisionRect { get; } Rectangle CollisionRectHurt { get; }这里定义了针对障碍物和敌人的不同碰撞范围,返回不同大小的碰撞检测矩形包围盒。我们可以用策略模式重构这种设计,首先定义接口:namespace St
2013-04-14 10:35:57
390
原创 把桥接模式用于换装系统
桥接模式非常适合于换装系统,比如说什么野蛮人拿斧子,野蛮人拿木棒,野蛮人拿钉头槌,弓箭手拿弓箭,弓箭手拿十字弓,弓箭手拿火枪……多了去了的组合,都可以用桥接模式实现。使用方法非常简单,但是最好在设计整个系统前想好了,而不是之后修改。首先,创建一个武器的接口:namespace BridgePattern{ interface IWeapon { voi
2013-04-14 10:35:39
230
原创 Java Swing 扫雷游戏展示
Java Swing 实现的扫雷游戏,作品展示。游戏刚刚开局,提示玩家决定行数、列数和雷数。游戏正式开始,开始计时,图中雷区上边数字为时间(秒)。点击一下后,一块雷区显示为了1。点到0,自动把周围8个雷区全点开。右键标记旗子(图中“F”)。双键按下,自动点开剩下的雷区。点到地雷,游戏结束。下载地址:http:/
2013-04-14 10:35:29
407
原创 一个简单的飞行棋AI策略
飞行棋是老少皆宜的简单棋类游戏,它的介绍请各位读者自行搜索,这里不赘述。这里提供了一个简单的飞行棋电脑玩家的策略,它由以下一些组成:1、尽量让目的地是与自己颜色一致的格子;2、在目的地是与自己颜色一致的时候,选择能跨越飞行的,这样能多飞行一次;3、尽量让目的地撞击敌机;4、如果目的地有多架敌机,则另外考虑;5、如果在场只有两架以下的飞机,尽量让飞机从机场起飞;6、尽量避开敌
2013-04-14 10:33:07
1287
原创 血条的两种实现方法
其实,这篇文章的题目应该是“堆叠物的两种实现”,可是“堆叠物”这个词让人觉得陌生。在《元祖洛克人》这样的游戏中,血条也是游戏的画面的一部分。这种血条就像是一种东西的堆叠,这种东西有两种方法实现,一是使用一大堆的图片,从0格血,到满血,所有的图片都有,使用的时候根据血的数目选择图片。二是,只用一格血的图片,和空血槽的图片,使用的时候根据血的数循环生成很多那个“一格血的图片”安置到空血槽中
2013-04-14 10:32:52
572
原创 AS3多线程入门(下):多线程编程入门
AS3的多线程和Java的不同,程序员需要在同一个类中判断当前是在主线程还是在分支线程,然后进行操作。判断Worker.current.isPrimordial这个量:if(Worker.current.isPrimordial){//这里是主线程}else{//这里是分支线程}假设我们还是上一篇文章的那个情况,在HelloWorldWorker类里,我们需
2013-04-13 17:31:21
972
1
原创 AS3多线程入门(上):搭建开发环境
最新的Flash 11.4出了多线程功能,现在就可以体验一把AS3的多线程开发。我们需要准备的东西:FlashDevelop-4.1.0-R2383.exeflashplayer_11_sa.exeflashplayer_11_sa_debug.exeflex_sdk_4.6.0.23201B.zip其中,Flash Player需要11.4版本的,(我用的是11.4 r4
2013-04-13 17:31:05
962
原创 游戏感:虚拟感觉的游戏设计师指南_Jether整理版本
游戏感:虚拟感觉的游戏设计师指南Game Feel英文官方网站http://www.game-feel.com/天之虹翻译http://blog.sina.com.cn/s/blog_48fbe4a10100f5nu.htmlJether整理一本关于游戏手感的书,我推荐所有的游戏策划设计专业人员和爱好者都应该看看。这个版本与先前网上流传的不一样,现在流传的是天之
2013-04-13 17:30:30
898
原创 把状态模式用于游戏角色状态
这是重构之前的示例代码: class Role { [Flags] //标志枚举 public enum StateEnum { State1 = 0, State2 = 2, State3 = 4, State4 =
2013-04-13 17:29:59
384
原创 《植物大战僵尸(PC)》游戏评测
先声明,这里并不是因为其他平台的《植物大战僵尸》与PC平台的区别太大,而是因为笔者我最开始玩的PC版的,其他的可能有一些出入,以防引起误会,所以标题加了个“PC”。普通游戏套路先说说这款世界Popular的游戏中的一些普通的套路吧,这都是大家见惯的套路。首先,游戏局制,很多休闲游戏都是局制的,比如《QQ堂》和《跑跑卡丁车》,都是一局一局的,这种制度的游戏不会让人太累,不会像《暗黑破坏神
2013-04-13 17:29:09
354
原创 《元祖洛克人》游戏评测
《元祖洛克人》总共有10代,还包含了很多复刻版,分别遍布在FC、GB、MD、SFC、PS、Wii主机上。不过这篇文章主要说的是FC的1代,因为这个版本的我玩得最多,最熟悉,也最容易不闹笑话,所以就说这个。选关说到《洛克人》,就不得不说它的选关设定。《超级马里奥》和《魂斗罗》的关卡都是线性顺序的,这使得这两款游戏的第一关非常之有名,而后边的关卡,很多人都没玩过,因为玩不到那里就得死了,玩不过
2013-04-13 17:28:36
357
原创 MacOSX与Windows的键盘功能键对应
如果你用MacOSX系统,但是却用了Windows风格的键盘,那么你可能会发现菜单提示的功能键找不到,这里提供一下MacOSX系统和Windows系统的一些功能键对应:以下是出现在 Mac OS X 菜单中的修饰键符号:(Command 键) - 在某些 Apple 键盘上,此键也可能带有 Apple 标志()(Control 键)(Option 键)-“Alt”可能也出现在此键上
2013-04-13 17:26:46
447
原创 用Excel趋势线来设计飞行轨迹
我们都玩过飞机射击游戏,里边的敌机都有运动轨迹的,要设计这种运动轨迹,需要一个与之对应的数学函数式子,表明了y和x的关系,可是我们平常见到的也就只有最简单的几个函数,怎样生成随便一个函数线的函数式呢?方法是用Excel2010,打开Excel2010,输入以下数据:11012109310941145119
2013-04-13 17:26:01
904
原创 cocos2d-x的VisualStudio2010环境搭建
我的系统是Windows 7,安装了VS2010,必须安装C++模块,这个步骤省略,关于64位系统安装VS会出现的问题的解决方法,这里暂不提供。打开这个页面http://cn.cocos2d-x.org/download下载cocos2d-1.0.1-x-0.12.0 @ Mar 05, 2012,这是写文章时候的最新版本,要是有更新版本,就下载最新的。下载后是一个压缩包,解压缩,比如解压
2013-04-13 17:25:07
1531
原创 为什么游戏制作都用png格式的图片?
为什么游戏制作都用png格式的图片?这个问题估计很多人都想过。一说图片,很多人会说jpg,一说游戏里边的动画,则是gif,实际上这两种格式都不适合游戏制作的贴图。这里有四张图片,大家可以看看:GIF格式的图片Graphics Interchange Format(GIF,图形交换格式)是一种位图图形文件格式,以8位色(即256种颜色)重现真彩色的图像。它实际上是一种压缩文档
2013-04-13 17:24:04
1122
原创 XNA图片缩放的两种方法
第一种:spriteBatch.Draw(texture, new Vector2(10, 20), null, Color.White, 0, Vector2.Zero, new Vector2(beishu * 0.5f, beishu * 0.5f), SpriteEffects.None, 0);第七个参数是放大倍数,这种放大的结果是模糊处理的(可能是用了插值算法):第
2013-04-13 17:23:11
403
原创 cocos2d-x处理单点触摸事件
这篇文章真的很菜鸟,但是出于考虑到cocos2d-x的资料真的不好查,网上又是千古文章一大抄,抄了很多还是很多的错误,所以还是写一篇博客。cocos2d-x的触摸事件有多种方式,单点触摸最为简单。首先我们新建一个Cocos2d-win32 Application,转到HelloWorldScene.cpp的bool HelloWorld::init()方法,里边有一个do...while(
2013-04-13 17:22:47
251
原创 5个百度统计SEO建议邀请码
420f075c822aa497e434f73f97ea03c4fac48a08823c74d226ab8d204b727c041611a5b3dc8fdbe8先到先得!
2013-04-13 17:22:02
402
原创 使用对象池优化代码的一种技巧
对象池可以用于优化代码,提高代码效率。这里我提供了一种简单的技巧。查阅一下代码,把函数内的、函数开头的所有定义引用变量+new对象的代码找到,然后从对象池中pop出来,再在函数结尾中把对象再push进去。如果是只有函数内的一段代码用到,比如一个循环里边的变量,那就可以在循环里边用这个,在结尾处把对象push进去。把代码中修改的所有的new对象,都在对象池的构造器中直接new一遍然后
2013-04-13 17:21:26
296
原创 Away3D的FlashBuilder配置教程
Away3D是当前流行的Flash3D引擎,这里写一下它的FlashBuilder配置方法,供各位查阅参考。首先安装FlashBuilder4.6,这个过程这里不再赘述。这里是Away3D的官网http://away3d.com/,下载一个“away3d-core-fp11_4_0_9_gold.zip”的文件,解压缩到D盘目录下(其他目录也可以)。打开FlashBuilder,新建“
2013-04-13 17:20:16
303
Microsoft Office 2000 双CD完整版
2022-02-15
Megaman 11 OST
2018-10-07
轻点气球 游戏 安卓 unity
2018-08-18
The.Art.Of.Computer.Programming.-.Volume.4.(Donald.E.Knuth).pdf
2010-01-15
AutoRun病毒擒杀机器2.0
2008-02-04
AutoRun病毒擒杀机器1.1
2007-11-18
AutoRun病毒擒杀机器
2007-01-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人