设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2755|回复: 10
打印 上一主题 下一主题

[已经解决] 如何用事件或脚本达到这种(反色)效果

[复制链接]

Lv1.梦旅人

梦石
0
星屑
144
在线时间
628 小时
注册时间
2012-6-9
帖子
1321
跳转到指定楼层
1
发表于 2013-1-5 12:52:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
本帖最后由 c248611 于 2013-1-7 18:26 编辑









Q:是反色,不是黑白色。

@英顺的马甲    A:
RUBY 代码复制
  1. class Bitmap
  2.   PROC = ["8b4424048b4400108b40088b40108b5424088d149039d074108d76008130ffffff0083c00439c275f331c0c21000"].pack("H*")
  3.   CWP = Win32API.new("user32", "CallWindowProc", "piiii", "i")
  4.   def inverse!
  5.     CWP.call PROC, object_id, width*height, 0, 0
  6.   end
  7.   def inverse
  8.     b = self.clone
  9.     b.inverse!
  10.     return b
  11.   end
  12. end
  13. class Scene_Map
  14.   def inverse_color
  15.     @spriteset.inverse_color
  16.   end
  17. end
  18. class Spriteset_Map
  19.   def inverse_color
  20.     @tilemap.tileset = @tilemap.tileset.inverse
  21.     for i in 0..6
  22.       @tilemap.autotiles[i] = @tilemap.autotiles[i].inverse
  23.     end
  24.     @character_sprites.each{|s|s.bitmap = s.bitmap.inverse}
  25.   end
  26. end

事件调用脚本$scene.inverse_color就行了==

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
2
发表于 2013-1-5 13:03:11 | 只看该作者
本帖最后由 羞射了 于 2013-1-5 13:05 编辑

我可以告诉你原理,具体你可以尝试自己研究,

要做到反色需要在所有描绘精灵(sprite)的地方建立双层精灵,这里默认是只有一个精灵图层所以默认RM是无法实现反色的。

下面的精灵刷成白色,描绘时用self.color = Color.new(255,255,255,255),可以制造一个纯白色的人物。

上层的精灵用self.blend_type = 2 减法显示。

如此就能制造出所谓的反色效果。

点评

看不懂、  发表于 2013-1-5 13:33
湿滑落式骑!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
8952
在线时间
4371 小时
注册时间
2005-10-22
帖子
6753

开拓者贵宾

3
发表于 2013-1-5 14:11:29 | 只看该作者
小朋友们排好队,偶们来用GPU做滤镜然后直接盖在RM的内存上(大雾)

点评

排队~话说能操作pixel shader就爽了  发表于 2013-1-7 11:08
不明觉坑……  发表于 2013-1-5 14:16
回复 支持 反对

使用道具 举报

Lv3.寻梦者

最萌的小猫

梦石
0
星屑
1347
在线时间
692 小时
注册时间
2011-11-5
帖子
3443
4
发表于 2013-1-5 14:31:26 | 只看该作者
反色????LZ要这种效果干啥……

点评

同意,看着非常不爽... ...  发表于 2013-1-5 22:29
小猫,感情浓郁的天然嘿啾一只,属性:水,嘿啾,无轨迹流线萌。喜欢在正午伸出小爪子卖着各种次元萌。平行穿越次元萌差。
如需要小猫,请认准啾怪时空电话。这宇宙萌源的秘密,需要找到时空边界萌源能量爆发的封印钥匙。快来和小猫一同去冒险吧!
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

5
发表于 2013-1-5 16:59:22 | 只看该作者
本帖最后由 精灵使者 于 2013-1-5 17:00 编辑

精灵毫无目的的飞过:可以用图块(反色图块)轻松达到此效果——PS效果:反相
另外事件的反相其实就是合成模式:减法
参考范例:惩罚者杰克的第七章(无声鸟类的传说)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
41
在线时间
1026 小时
注册时间
2011-9-10
帖子
1415
6
发表于 2013-1-5 22:30:11 | 只看该作者
难道你不认为这种颜色让玩家看着很不爽吗?,我刚开始还以为你使用麻花藤的抠抠给故意搞成这个样子的= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
366 小时
注册时间
2012-10-6
帖子
221
7
发表于 2013-1-5 23:11:01 | 只看该作者
可以把和窗体一样大小的图片画再窗体上,再改变精灵的混合方式 我是这样想的不知对不对
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

8
发表于 2013-1-6 15:02:55 | 只看该作者
其实在PS做一个反色后的行走图,需要的时候事件更换一下行走图不是更方便么?……动画也是一个道理,其实地图也可以这么弄,其实……
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

9
发表于 2013-1-6 20:53:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
369
在线时间
1605 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

10
发表于 2013-1-6 22:11:48 | 只看该作者
晴兰 发表于 2013-1-6 20:53
class Bitmap
  PROC = ["8b4424048b4400108b40088b40108b5424088d149039d074108d76008130ffffff0083c00439 ...

没兴趣,用什么MMX啊,还有,人家要的是Tilemap你给Bitmap干啥。。

点评

额……好啊并。。  发表于 2013-1-6 22:31
Bitmap是Tilemap类的配置……  发表于 2013-1-6 22:28
其实。。。某种意义上来说bitmap是行得通的==  发表于 2013-1-6 22:15
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-28 00:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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