Project1

标题: 室内室外行走的放大缩小问题 [打印本页]

作者: 200878242    时间: 2008-10-4 05:19
标题: 室内室外行走的放大缩小问题
怎么能让角色在室外行走时地图缩小呢,而进入室内则地图在变大呢,主要是角色变小变大地图自己可以改
[LINE]1,#dddddd[/LINE]
标题已经被修改,下次请看【提问区版规】。——天圣 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: 怎么的传说    时间: 2008-10-4 06:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: 200878242    时间: 2008-10-4 07:23
不理解吗?就是我做的室外地图太大了,我就缩小了地图当然角色也要跟着缩小了要不角色都要比房子大了,如果进如室内的话地图就可以用原来的1:1地图了,但是我不可能把所用的人都做成一个在室外用的一个在室内用的吧?太麻烦了?所以请教各位高手解决之道
作者: 塑望    时间: 2008-10-4 07:43
{/fd}
一个事件
准备2张角色行走图
一张大的 一张小的
公共事件:移动路线里更改图片
把事件放到你想出现的地方[最好是门那里]
作者: 200878242    时间: 2008-10-4 08:12
哎!还是老办法,我那么多图片怎么改啊,还用更好的办法吗,比如说到了某个地图地图和角色会自动变大有这样的脚本吗
作者: 塑望    时间: 2008-10-4 08:23
以下引用200878242于2008-10-4 0:12:01的发言:

哎!还是老办法,我那么多图片怎么改啊,还用更好的办法吗,比如说到了某个地图地图和角色会自动变大有这样的脚本吗

......和事件一个原理..一个公共事件+两张图片解决所有问题
作者: ONEWateR    时间: 2008-10-4 08:39
  1. #==============================================================================
  2. # ■ Sprite_Character
  3. #------------------------------------------------------------------------------
  4. #  角色显示用脚本。监视 Game_Character 类的实例、
  5. # 自动变化脚本状态。
  6. #==============================================================================
  7. $变大比率 = 1.0
  8. class Sprite_Character < RPG::Sprite
  9.   #--------------------------------------------------------------------------
  10.   # ● 定义实例变量
  11.   #--------------------------------------------------------------------------
  12.   attr_accessor :character                # 角色
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化对像
  15.   #     viewport  : 查看端口
  16.   #     character : 角色 (Game_Character)
  17.   #--------------------------------------------------------------------------
  18.   def initialize(viewport, character = nil)
  19.     super(viewport)
  20.     @character = character
  21.     update
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 更新画面
  25.   #--------------------------------------------------------------------------
  26.   def update
  27.     super
  28.   #--------------------------------------------------------------------------
  29.     self.zoom_x = self.zoom_y = $变大比率
  30.   #--------------------------------------------------------------------------
  31.     # 元件 ID、文件名、色相与现在的情况存在差异的情况下
  32.     if @tile_id != @character.tile_id or
  33.        @character_name != @character.character_name or
  34.        @character_hue != @character.character_hue
  35.       # 记忆元件 ID 与文件名、色相
  36.       @tile_id = @character.tile_id
  37.       @character_name = @character.character_name
  38.       @character_hue = @character.character_hue
  39.       # 元件 ID 为有效值的情况下
  40.       if @tile_id >= 384
  41.         self.bitmap = RPG::Cache.tile($game_map.tileset_name,
  42.           @tile_id, @character.character_hue)
  43.         self.src_rect.set(0, 0, 32, 32)
  44.         self.ox = 16
  45.         self.oy = 32
  46.       # 元件 ID 为无效值的情况下
  47.       else
  48.         self.bitmap = RPG::Cache.character(@character.character_name,
  49.           @character.character_hue)
  50.         @cw = bitmap.width / 4
  51.         @ch = bitmap.height / 4
  52.         self.ox = @cw / 2
  53.         self.oy = @ch
  54.       end
  55.     end
  56.     # 设置可视状态
  57.     self.visible = (not @character.transparent)
  58.     # 图形是角色的情况下
  59.     if @tile_id == 0
  60.       # 设置传送目标的矩形
  61.       sx = @character.pattern * @cw
  62.       sy = (@character.direction - 2) / 2 * @ch
  63.       self.src_rect.set(sx, sy, @cw, @ch)
  64.     end
  65.     # 设置脚本的坐标
  66.     self.x = @character.screen_x
  67.     self.y = @character.screen_y
  68.     self.z = @character.screen_z(@ch)
  69.     # 设置不透明度、合成方式、茂密
  70.     self.opacity = @character.opacity
  71.     self.blend_type = @character.blend_type
  72.     self.bush_depth = @character.bush_depth
  73.     # 动画
  74.     if @character.animation_id != 0
  75.       animation = $data_animations[@character.animation_id]
  76.       animation(animation, true)
  77.       @character.animation_id = 0
  78.     end
  79.   end
  80. end
复制代码


然后进入房间输入脚本
$变大比率 = 数值(如1.5,0.5…… - - ) [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: 天圣的马甲    时间: 2008-10-4 09:12
http://rpg.blue/web/htm/news271.htm
是这类的东西么?
作者: 200878242    时间: 2008-10-5 02:39
你好ONEWateR,我用了那个脚本是变大了但是角色怎么变成了4个啊

作者: ONEWateR    时间: 2008-10-5 02:42
以下引用200878242于2008-10-4 18:39:09的发言:

你好ONEWateR,我用了那个脚本是变大了但是角色怎么变成了4个啊


变成4个?!没见过这种情况。

理论上脚本是没有错的

具体怎么……我也不是很清楚

我还是推荐天圣的答案~!
作者: 200878242    时间: 2008-10-5 02:56
可能和鼠标整合8方向脚本有冲突,我再看看吧,不过还是感谢各位




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1