GameMaker 如何设置入口房间出入口

GameMaker房间
现在你已经在事件和动作中定义了物体的行为,紧接下来就是创建在游戏中的房间或关卡了。任何游戏都需要至少一个房间,在这些房间中我们可以放置物体实例。一般游戏开始时会显示第一个房间,(除非你设置了跳房间的物体),其中的实例会依照创建事件中的动作执行各种动作。
创建房间时有许多选项和功能,除了添加物体实例你还可以设计背景,定义视角和使用图块等。大部份的这些选项会在后面讨论,这章我们将只讨论一些基本设定--增加物体实例,和背景图像的设定。
要创建一房间,从添加菜单中选择添加房间,则将出现下面窗体:
在窗体的顶部有一工具栏。这里你可以定义网格的大小。或者你也可以定义是否显示网格或者背景等。隐藏房间的某些东西有时候设计起来会方便很多。你应该知道,即使物体被设置成了不可见,但在添加到房间里依然是可见的,在游戏运行时会变为不可见。工具栏中还有“撤消”按钮和清空按钮。当设计好之后按“确定”按钮保存设置。
在左边你将看到三个标签(在高级模式下会有五个)。在物体标签中你可增加物体实例到房间。在设定标签中你可以为了房间指定许多设定。在背景标签中你可以为房间设定背景图像。
在房间设计窗体的右边你可以看到当先设计中的房间,起初它是空的,有一灰色背景。
要添加实例到房间中,首先选择物体标签。第一是选择想要增加的物体,由菜单图标上的按键点选(或在左边的图像区域中点一下)。物体的图像出现在左边(注意在图像上有原点,实例会自动按原点对齐网格)。现在在右边房间区域中点选你的鼠标按键左键,一个物体实例出现了,而它将定位到指定的网格上(你可以在设定中更改网格)假如当置放实例时按住&Alt&键不放则此实例不会对齐到网格上。在添加物体实例的时候,如果按住&Shift&键且拖动鼠标,则会连续添加物体实例。你可以用鼠标右键来移除实例。当按住&Ctrl&键时,按住鼠标左键可以拖动已经添加的物体实例。
你会注意到,假如你在原来的实例上面置放(按鼠标左键)一实例,原来的实例会消失了,通常是你想要的,但是有时未必如此。当你不勾选“删除重叠”时,就不会出现原来实例消失的现象。
当你右击物体实例时按住&Ctrl&键,会弹出一个菜单。菜单里你可以删除实例,给实例一个精确的位置,或者将物体移到对顶层。
每个房间有一些设定,你可以由切换到设定标签下修改房间的有关设定。
每个房间都有一名字,最好取一个有意义的名字。也有一个标题,当游戏执行时标题会显示在窗口标题栏上。你可以设定房间的宽度和高度(以像素为单位),你也可以设定游戏的速度。速度是每秒执行的步数,速度越大,运动效果越平滑。但是你将需要一相当快速的计算机来执行。
切换到背景标签下,你可以为房间设定背景图像。事实上,你可以设定多重背景,标签页看起来如下:
在标签页上面你会看到背景颜色,在上面用鼠标点选来更改它。只有当你不使用一个背景图像覆盖整个房间时,背景颜色才有用,不然的话,你最好不要勾选描画背景颜色“改变背景颜色”复选框标签,因为将会浪费时间。在上面你可看到8个背景的列表,你可以一一地定义它们,但通常你只须要定义一或两个。要定义一个背景,第一步在列表中选择它,下一步当房间开始时,勾选复选框“房间开始后可见”标签,不然的话你将看不见它。背景名称在定义后将成为粗体,现在在菜单中指定一背景图像,你可以更改许多设定。
首先你可以指定背景图像将会水平平铺地或垂直平铺地贴在房间上,你也可以指定房间中的背景位置(也会影响到图块),最后可以给予它一水平的或垂直速度(每步多少像素)你可以制作卷动背景。还有一复选框标示着前景图像,当你勾选复选框,背景变成一前景,此前景将画在每个东西上而非在每个东西后面,显然若要使用这样的前景图像,应是部份透明的。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。怎样实现每个房间的数据保存【gamemaker吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:10,103贴子:
怎样实现每个房间的数据保存收藏
在用GM8.0做一个魔塔的小游戏,怎样保存下每个房间的数据,不至于每次进入房间都会重新加载里面的怪物。
专为满足各类行业和客户要求而设计,并已被证明可满足各个施工标准的要求。
开启怪物物件的保持(persistent)属性
在room--&setting里将persistent勾选~
其实使用保持,并把物件visible关闭,也可以达到效果。但是如果你还是不想用persistent的话,倒是可以考虑动态物件,也就是在游戏运行时新建一个怪物物件,记住是物件而不是实例哦。只不过方法比较复杂。
还有一个方法,将物件调成保持,然后每次离开房间后都将里头实例冻结。再次进入房间时,再重新激活这些实例。
还有一个方法,将物件调成保持,然后每次离开房间后都将里头实例冻结。再次进入房间时,再重新激活这些实例。
还有一个方法,将物件调成保持,然后每次离开房间后都将里头实例冻结。再次进入房间时,再重新激活这些实例。
为什么我玩的魔塔都是重入房就更新怪物了?(只是没有更新地上的物品)。。
奇怪,为什么咱最近首先想到的方法都是数组……建立一个全局数组变量来表示每个怪物、物品是否还存在,然后每个怪物、物品的创建时查找一下数组中对应自己的变量是否已经改为“已经击杀、使用”,如果是则销毁自己。
原来是这样。。
登录百度帐号推荐应用GameMaker: Studio 学习笔记(二)深度 物理属性 房间切换 滑冰 - CSDN博客
GameMaker: Studio 学习笔记(二)深度 物理属性 房间切换 滑冰
深度的设置其实是改变绘制次序,以免发生阻挡等不合理的情况。
基本在创建的时候(create Event)设置 “depth = *;”
物理属性其实还不太理解=理解里物理属性就是对真实世界的一种模拟,比如对于超级马里奥这种游戏,可以利用物理属性提供加速度(所以我做俯视图的时候因为房间的重力加速度忘改了就目瞪口呆的看着房子里的东西往下掉= =)
这么想也就可以理解为什么碰撞形状那么有限了(圆形circle、方形box还有不超过六条边的凸边形Shape)毕竟碰撞这种处理起来应该还是蛮复杂的。
啊从哪开始说呢~
房间转换其实如果房间的联通是树的结构的话(并且房间之间的连接没有太宽,不然切换的时候会有违和感),其实没必要执着于把房间的这个人物移动到另一个房间……每个房间有一个主角理论上是可行的。而且省很多事……把主角也设置成persistent就好。
然后当初做的时候一开始的问题是:
如果我要让主角的切换的自然的话,我需要实现的一个是把主角的坐标切到合适的点,另一个是切换房间。
可是当我把这两个事件添加到碰撞事件中后,(切换房间用脚本,跳跃用Jump,在move栏下),之后只会执行jump没有执行房间切换。
文档对此的可能解释是,切换房间操作会在任务的最后执行。
后来都写成脚本之后就好了……
还有一个问题是当人物转换房间的时候在人物create的时候设置的phy_fixed_rotation属性(禁止旋转)不会保持。后来的方法是,把这一命令加到Room Start当中。
还有就是,如果每两个房间切换都用一个新的obj太麻烦了- -后来用的方法是在房间内右键obj然后改变create的代码,因为每此切换要存储的就是:下一次的坐标和房间。
这里想要类似于口袋妖怪一样的效果,在运动过程中不接受键盘事件。
这里需要一个主角的状态量,在发生碰撞的时候主角的状态修改为REST。
然后 计划很美好……后面的结构就是,如果主角贴边走的话就默认是(一直处于碰撞状态)也就是说滑冰效果没啥用了……
然后处理方法是,在每次碰撞的时候都把主角的坐标往反方向移一格,比如向上走的过程中pia一下撞上了,然后就偷偷把主角坐标的y+1就让他在接下来往左右行走的过程中不碰到边(差了一格)。
下为碰撞的代码
在这个过程中对障碍的位置计算还是需要比较准确的(不然在运动的中途擦到边缘很容易停下来了)。
本文已收录于以下专栏:
相关文章推荐
Oracle DataGuard学习笔记(3)物理Standby主从角色切换
关于Oracle DataGuard的主从角色切换,可以参考官方在线文档:
http://do...
TopCoder练习题笔记02:
题目大概意思:
给出了3个变量,游泳的距离distances,游泳的速度speed,以及水流的速度,让算出对应的时间
顺流的速度为运动员的游泳速度+水流速度
逆流的速...
1、目前visual studio最新版本是VS2015,但VS2015不支持CUDA,所以只能降级为VS2013。VS2013可以在微软官网下载。***完毕后,需要***python开发环境,File-...
今天我们来看看如何通过拖拽移动一个物体
拖移物体需要用到box2d中的b2MouseJoint
首先我们在touchbegan方法中为我们点击到的物体创建b2MouseJoint对象,那么...
首先我们假设介质又许多非常小并且随机分布的微粒组成,微粒之间的距离相比与微粒本身大小可视为无限大,因此每个微粒的光照行为是独立事件,但我们不描述单个微粒的光照过程,我们只描述光穿过介质时整...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

参考资料

 

随机推荐