找回密码
 立即注册
【公告】关于论坛暂停使用QQ登录公告 点击查看
查看: 7616|回复: 115

【不动3年z班】第一讲,灯光特效

  [复制链接]

38

主题

306

帖子

1597

积分

超级版主

Rank: 8Rank: 8

积分
1597
QQ
发表于 2013-6-22 17:25:04 | 显示全部楼层 |阅读模式
本帖最后由 不动king 于 2013-7-7 20:15 编辑

欢迎大家来到不动的地狱教室,在这里,没有国界没有种族没有节操,我所说的内容都是自己平时的经验总结,有错和可以优化的地方欢迎指出来,如果你有更好的方法欢迎一起讨论,后面的内容可能会包含各种数字、代码、粗口、猎奇之类的内容,如果觉得自己承受能力足够并有耐心的话就继续往下看,否则请出门左转或点右上角红叉。
基础的东西我就另外挑时间说,考虑到目前大家都有一定基础,想做一些特效出来却无从下手的情况我就先说说一些比较高级的。
这里我直接用官方例子做修改

首先是灯光效果,这个需要用到“表面”
“表面”是什么?当你不想把所有东西都画在一张纸上时,可以分别画在几张纸上面然后再将这些纸重叠起来,这些纸就是“表面”,相当于PS的图层。
要实现这一效果,我们得做些准备
首先是灯光,找个这种样子的PNG图片,为什么中间是黑的,这个后面再说明。

然后我们需要一个表面
新建一个对象o_surface,用它来控制整个游戏的灯光效果。
然后creat事件内容如上图所示,这里要注意一个地方,灯光表面必须在其他对象之上,所以depth设置成了-1000。
这里我定义了全局变量,这个做法的好处是使用的时候不用再在全局变量前面打“global”,很方便。

接下来在end step里每步用黑色刷新表面,这样做会清除上一步留下来的东西,如果你做画图表面或者其他功能的话就不用加这个。

然后在屏幕上绘制表面,好!准备工作完成,现在让我们打开灯光。

找到你要让他发光的家伙,可以是玩家、怪物或者是一坨金光闪闪的翔。然后在他的draw事件里加入图示的代码。没有draw事件?没有draw事件就自己建,这点都不会给我找坨热翔撞死算了!这里用到了混合模式,简单的说就是相同颜色的地方会被扣掉,这就是为什么灯光素材是黑色的。
注意:在GM8.0及以下版本中只能放在end step里,否则会出现各种灵异现象。

最后一步,也是最重要的一步!
把你刚刚做好的这坨热翔给我丢到房间里去,这就大功告成啦!

灯光效果get!
是不是很简单?

PS:这些GM都通用哦!

【GM版本】: GMS
【注册】: 是
【文件类型】: .zip
【文件大小】: 5.18M
【文件链接】: 仅 .gmk , ZIP 文件
【插件要求】: 百度盘
范例链接:
游客,如果您要查看本帖隐藏内容请回复

好了!迟到的都给我出去罚站!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
这家伙很懒,啥都没留,= =
回复

使用道具 举报

92

主题

404

帖子

4870

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4870
QQ
发表于 2013-6-22 18:09:46 | 显示全部楼层
不动先生,你在这里说的有点,,,有点过了,,,,来发泄的啊? - -
~玉米玉米萌费你~
回复 支持 反对

使用道具 举报

38

主题

306

帖子

1597

积分

超级版主

Rank: 8Rank: 8

积分
1597
QQ
 楼主| 发表于 2013-6-22 18:25:07 | 显示全部楼层
Mage松仁玉米 发表于 2013-6-22 18:09
不动先生,你在这里说的有点,,,有点过了,,,,来发泄的啊? - -

噗,那我还是温柔点吧。
这家伙很懒,啥都没留,= =
回复 支持 反对

使用道具 举报

17

主题

624

帖子

2892

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2892
QQ
发表于 2013-6-22 19:42:01 | 显示全部楼层
表面啊表面,图形处理中强大的功能之一
这家伙很懒,啥都没留,= =
回复 支持 反对

使用道具 举报

0

主题

1

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2013-6-23 06:09:59 | 显示全部楼层
在GMK里面弄,好像失败了啊。。。。有一个非常奇怪的现象。在一个对象里面使用了以上开灯功能后,这个对下和比他深的对象的精灵和图像都变大了。

点评

这个特效没有改变大小的功能,你检查一下是不是插错地方或者漏掉哪里没搞.  详情 回复 发表于 2013-6-23 06:53
这家伙很懒,啥都没留,= =
回复 支持 反对

使用道具 举报

38

主题

306

帖子

1597

积分

超级版主

Rank: 8Rank: 8

积分
1597
QQ
 楼主| 发表于 2013-6-23 06:53:01 | 显示全部楼层
liarpig 发表于 2013-6-23 06:09
在GMK里面弄,好像失败了啊。。。。有一个非常奇怪的现象。在一个对象里面使用了以上开灯功能后,这个对下 ...

这个特效没有改变大小的功能,你检查一下是不是插错地方或者漏掉哪里没搞.
这家伙很懒,啥都没留,= =
回复 支持 反对

使用道具 举报

4

主题

17

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
发表于 2013-7-1 18:31:04 | 显示全部楼层
不动威武
这家伙很懒,啥都没留,= =
回复

使用道具 举报

8

主题

30

帖子

464

积分

热心赞助人

Rank: 8Rank: 8

积分
464
发表于 2013-7-7 19:35:48 | 显示全部楼层
本帖最后由 noisyfox 于 2013-7-7 19:37 编辑
liarpig 发表于 2013-6-23 06:09
在GMK里面弄,好像失败了啊。。。。有一个非常奇怪的现象。在一个对象里面使用了以上开灯功能后,这个对下 ...

你用的是GMS以前的版本,请注意帮助文档里有这么一句话:
[mw_shl_code=text,true]You should never change the drawing target while you are actually drawing on the screen,
that is, never use it in drawing events. This will cause serious problems with the projection and viewport. [/mw_shl_code]

所以说,在使用了视角以后,凡是在draw事件里面改变了绘制对象,那么视角会出问题(也就是尺寸、坐标啥的都会出错)
当然这些问题在GMS里面被修正了

不动king用的是GMS,所以没问题

请用以前版本的人自己把draw事件里面对surface的操作移到step(endstep)事件中去

不动你也注意下这个问题吧


点评

谢谢小狐狸的提醒了,提示已经加入教程里。  详情 回复 发表于 2013-7-7 20:21
这家伙很懒,啥都没留,= =
回复 支持 反对

使用道具 举报

38

主题

306

帖子

1597

积分

超级版主

Rank: 8Rank: 8

积分
1597
QQ
 楼主| 发表于 2013-7-7 20:21:19 | 显示全部楼层
noisyfox 发表于 2013-7-7 19:35
你用的是GMS以前的版本,请注意帮助文档里有这么一句话:
[mw_shl_code=text,true]You should never chang ...

谢谢小狐狸的提醒了,提示已经加入教程里。
这家伙很懒,啥都没留,= =
回复 支持 反对

使用道具 举报

9

主题

125

帖子

1500

积分

社区骨干

Rank: 6Rank: 6

积分
1500
发表于 2013-7-12 23:22:31 | 显示全部楼层
学习了~
这家伙很懒,啥都没留,= =
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

GM酱为您精心推荐!上一条 /4 下一条


小黑屋|Archiver|手机版|Gamemaker开发者之家    

GMT+8, 2017-2-28 16:20 , Processed in 0.115012 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表
11 11 11 11 11 11 11 11 11 11 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa