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

Project1

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

更改画面色调问题.

 关闭 [复制链接]

Lv1.梦旅人

大火烧了毛毛虫

梦石
0
星屑
205
在线时间
288 小时
注册时间
2006-3-18
帖子
2335
跳转到指定楼层
1
发表于 2007-12-29 04:27:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
如何让一个特定NPC图不受其画面变色的影响而变色?
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

大火烧了毛毛虫

梦石
0
星屑
205
在线时间
288 小时
注册时间
2006-3-18
帖子
2335
14
 楼主| 发表于 2008-1-4 18:40:06 | 只看该作者
以下引用美兽于2008-1-4 9:20:27的发言:

仔细思索了下,
若要照顾遮挡变化,必须要将地图元件与角色从一个视口分离出来,稍显麻烦些。

以下为修改方式,大概会增加脚本冲突的风险。


一、Spriteset_Map类中

   @viewport3.z = 5000

的下面添加:

   @viewport1_5 = Viewport.new(0, 0, 640, 480)
   @viewport1_5.z = 5   

建造收容无家可归孩子们的居所。



二、Spriteset_Map类中   

@viewport3.dispose

的下面添加:

   @viewport1_5.dispose

为孩子们留条后路。



三、Spriteset_Map类中

   for i in $game_map.events.keys.sort
     sprite = Sprite_Character.new(@viewport1, $game_map.events)
     @character_sprites.push(sprite)
   end
   @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))

修改为:

   for i in $game_map.events.keys.sort
     sprite = Sprite_Character.new(@viewport1_5, $game_map.events)
     @character_sprites.push(sprite)
   end
   @character_sprites.push(Sprite_Character.new(@viewport1_5, $game_player))

将孩子们残忍的遣散。



四、Spriteset_Map类中

   @timer_sprite.update

的下面添加:

   for sprite in @character_sprites
       (sprite.tone = $game_screen.tone) if sprite.can_change_tone?
       sprite.ox = $game_screen.shake
   end

若是无名无姓的黑孩子,则还以颜色。



五、Sprite_Character类中

def update

的上面添加:

def can_change_tone?
     @character.instance_of?(Game_Player) ?
     name = "" : name = @character.instance_variable_get("@event").name
     name[/_orz/].nil? ? (return true) : (return false)
end

良心发现,若孩子们有御赐之名“_orz”,则不再摧残。



PS:LZ好卑鄙。

雾都孤儿






[本贴由作者于 2008-1-4 9:26:01 最后编辑]


-V-  谢谢啦
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

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

开拓者贵宾

13
发表于 2008-1-4 17:35:29 | 只看该作者
美兽殿的这个脚本效果不错啊。
建议在技术区发布一份。恩恩。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

12
发表于 2008-1-4 17:20:27 | 只看该作者
仔细思索了下,
若要照顾遮挡变化,必须要将地图元件与角色从一个视口分离出来,稍显麻烦些。

以下为修改方式,大概会增加脚本冲突的风险。

一、Spriteset_Map类中
[quote]    @viewport3.z = 5000

的下面添加:
    @viewport1_5 = Viewport.new(0, 0, 640, 480)
    @viewport1_5.z = 5   

建造收容无家可归孩子们的居所。[/quote]

二、Spriteset_Map类中   
[quote]@viewport3.dispose

的下面添加:
    @viewport1_5.dispose

为孩子们留条后路。[/quote]

三、Spriteset_Map类中
[quote]    for i in $game_map.events.keys.sort
      sprite = Sprite_Character.new(@viewport1, $game_map.events)
      @character_sprites.push(sprite)
    end
    @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))

修改为:
    for i in $game_map.events.keys.sort
      sprite = Sprite_Character.new(@viewport1_5, $game_map.events)
      @character_sprites.push(sprite)
    end
    @character_sprites.push(Sprite_Character.new(@viewport1_5, $game_player))

将孩子们残忍的遣散。[/quote]

四、Spriteset_Map类中
[quote]    @timer_sprite.update

的下面添加:
    for sprite in @character_sprites
        (sprite.tone = $game_screen.tone) if sprite.can_change_tone?
        sprite.ox = $game_screen.shake
    end

若是无名无姓的黑孩子,则还以颜色。[/quote]

五、Sprite_Character类中
[quote]  def update

的上面添加:
  def can_change_tone?
      @character.instance_of?(Game_Player) ?
      name = "" : name = @character.instance_variable_get("@event").name
      name[/_orz/].nil? ? (return true) : (return false)
  end  

良心发现,若孩子们有御赐之名“_orz”,则不再摧残。[/quote]


PS:LZ好卑鄙。

雾都孤儿




系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

忘记

梦石
0
星屑
55
在线时间
4 小时
注册时间
2007-12-15
帖子
3062
11
发表于 2008-1-4 02:42:26 | 只看该作者
有另一种解决办法.貌似有点BT
想某张地图的NPC画面不变色
就在某个变色的地图并行显示NPC的图片!~~
这样看能解决不(我也没试过,可以54)
因为你哭泣的时候有我想你你被人嘲笑时有我陪你在你感觉最无助的那一刻有个声音鼓励
<font color=#8600E9>忘记</font>
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
87 小时
注册时间
2009-6-12
帖子
383
10
发表于 2008-1-4 02:39:43 | 只看该作者
将就着用我那个吧

建个事件 用脚本功能项  把那段脚本里“事件ID”改为那特定NPC的事件号码
并行处理,而且是一直处理着。特定NPC的事件最好不要设置移动{/gg}
呀 迷路了。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

大火烧了毛毛虫

梦石
0
星屑
205
在线时间
288 小时
注册时间
2006-3-18
帖子
2335
9
 楼主| 发表于 2008-1-4 02:27:58 | 只看该作者
以下引用美兽于2007-12-29 9:50:13的发言:

方法很多,
一、依LS所述。
二、临时将事件push到不受色调影响的视口,之后刷新场景。
三、利用图片覆盖,坐标根据,但要善用事件中的“脚本”。


谁最好可以做个范例- -不太懂的说
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

8
发表于 2007-12-29 17:50:13 | 只看该作者
方法很多,
一、依LS所述。
二、临时将事件push到不受色调影响的视口,之后刷新场景。
三、利用图片覆盖,坐标根据,但要善用事件中的“脚本”。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
36 小时
注册时间
2006-8-4
帖子
375
7
发表于 2007-12-29 07:56:39 | 只看该作者
{/gg}
突然发现我那方法原来是生成一个新的图象(原事件移动就穿帮了。。),并不是更改原事件图象

靠 没试验清楚
哟~迷路了~
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

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

开拓者贵宾

6
发表于 2007-12-29 07:44:05 | 只看该作者
角色本身的坐标怎么调整呢?
我以前曾经碰到图片、元件遮掩主角的事情。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 01:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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