Project1

标题: 【VA】角色站在椅子上的小细节。。 [打印本页]

作者: cinderelmini    时间: 2014-3-28 20:21
标题: 【VA】角色站在椅子上的小细节。。
本帖最后由 cinderelmini 于 2016-1-24 19:25 编辑

首先要说的是这个效果原型来自《魔女之家》~
但制作思路是自己的~此外还得到了@烁灵 的支援~

因为先后有几位RMer提起这个~
于是我干脆统一发个脚本好了……_(:3ゝ∠)_

简单地说呢~
就是让角色经过【凳子】属性的图块的时候,会往上提几个像素,
造成了【站在椅子上】的假象~
实际效果就像这样:

普通:


椅子上

(其实我是拿别人提问帖的图(你多懒!?))


以下就是脚本内容了~
====================
注意事项:
·地图图块设定地形标志为7则有椅子属性,角色经过或站上去会往上8像素~
·地形标志为6的话也有效果,但只往上提4个像素,作为相对较低的台阶之类~
·此外有需要修改往上提的像素数的话,参照

  1.   #--------------------------------------------------------------------------
  2.   # ● 设置站在椅子上的y调整
  3.   #--------------------------------------------------------------------------
  4.   def chair_y
复制代码
这里面if分歧的两个返回数字~
====================
旧(⑨)版



这里是分割线



※160124更新:
·优化了部分代码
·整合了队友的相同效果
160124更新版



作者: 喜阳阳    时间: 2014-3-28 20:39
呵呵,好人,我抱走了!
作者: VIPArcher    时间: 2014-3-28 21:10
这个解密的脚本可以放出来吗?
作者: cinderelmini    时间: 2014-3-28 21:24
VIPArcher 发表于 2014-3-28 21:10
这个解密的脚本可以放出来吗?

噗……
这个不打算放了……
首先脚本内容我写得混乱不堪~
提取/移植的话略麻烦~
然后使用上也不方便……

所以还是不拿出来现世了…………
作者: VIPArcher    时间: 2014-3-28 21:34
cinderelmini 发表于 2014-3-28 21:24
噗……
这个不打算放了……
首先脚本内容我写得混乱不堪~

哦,好吧!这游戏超赞
作者: 寂静的夜里    时间: 2014-3-30 15:01
相当不错的东西~{:2_277:}
作者: 魔力的觉醒    时间: 2014-4-4 14:31
寂静的夜里 发表于 2014-3-30 15:01
相当不错的东西~

哎呦我擦  ac娘少女版
作者: xiaoyaya722    时间: 2014-5-1 20:23
正需要这个脚本呢,不过我想要XP的,找了半天没找到
自己动手把凡是报错的语句都#掉了,由于我不是很懂脚本,可能会有问题,但是大致上能用

#==============================================================================
# ■ Game_CharacterBase
#------------------------------------------------------------------------------
#  管理地图人物的基本类。是所有地图人物类的共通父类。拥有坐标、图片等基本信息。
#------------------------------------------------------------------------------
# *12/12/07  By。Cinderciella
#  通过对【椅子】图块设定地形标志7而让人物站在椅子上。
#  此外设定为6则对人物有稍微抬起效果,相当于稍高一点点的地形之类的,设定为6。
#==============================================================================


class Game_Character
# attr_accessor :screen_z
  #--------------------------------------------------------------------------
  # ● 重置screen_z
  #--------------------------------------------------------------------------
# def screen_z
#   @priority_type * 100
# end
  #--------------------------------------------------------------------------
  # ● 判定是否地图人物(暂时只支持主角)
  #--------------------------------------------------------------------------
  def player?
    self.is_a?(Game_Player)
  end
  #--------------------------------------------------------------------------
  # ● 判定是否站在椅子上
  #   (对象是主角 且不处于移动中 且不是地图人物的实例)
  #--------------------------------------------------------------------------


  def on_chair?
    return player? && !moving? #&& !object_character?
  end
  #--------------------------------------------------------------------------
  # ● 设置站在椅子上的y调整
  #--------------------------------------------------------------------------
  def chair_y
    if  moving? || !player? #||object_character?
      return 0
    elsif on_chair?
      if $game_map.terrain_tag($game_player.x, $game_player.y) == 7
        return 8
      elsif $game_map.terrain_tag($game_player.x, $game_player.y) == 6
        return 4
      else
        return 0
      end
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取画面 Y 坐标(加上椅子高度)
  #--------------------------------------------------------------------------
    def screen_y
    # 通过实际坐标和地图的显示位置来求得画面坐标
    y = (@real_y - $game_map.display_y + 3) / 4 + 32 - chair_y

    end
end
  
  
  #def screen_y
#   $game_map.adjust_y(@real_y) * 32 + 32 - jump_height - chair_y
# end
#end






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