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

Project1

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

[有事请教] [已解决]地图设置宽50高41如何显示聚焦在宽30高28的方格上

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7474
在线时间
1302 小时
注册时间
2015-8-15
帖子
742
跳转到指定楼层
1
发表于 2024-7-8 09:21:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 金芒芒 于 2024-7-8 12:47 编辑

如图[已解决]
进入没有主角的地图 聚焦到地图x960 y898  或宽方格30高方格28上
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 华丽镜头移动脚本  by 黑暗之神Kaiser.DS
  3. #------------------------------------------------------------------------------
  4. #  1-插入此段脚本到Main前面
  5. #   2-功能
  6. #     a-[镜头平滑移动到事件/角色]
  7. #       在事件里的[设置移动路线]里选择需要镜头转向的角色输入脚本kds即可
  8. #     b-[镜头跟随事件]
  9. #       在事件里的[设置移动路线]选择好需要跟随的事件后输入脚本kds_move_start开
  10. #       始跟随,当不想跟随时再输入kds_move_over
  11. #==============================================================================
  12. $平滑移动 = nil
  13. class Scene_Map
  14.   alias kds_update update
  15.   def update
  16.     kds_update
  17.     if $平滑移动 != nil
  18.       deal_pinghuayidong
  19.     end
  20.   end
  21.  
  22.  
  23.   def deal_pinghuayidong  #定义处理_平滑移动
  24.       cen_x = (600 - 16) * 4
  25.       cen_y = (350 - 16) * 4
  26.       max_x = ($game_map.width - 20) * 128
  27.       max_y = ($game_map.height - 15) * 128
  28.       display_x = [0, [$平滑移动.x * 128 - cen_x, max_x].min].max
  29.       display_y = [0, [$平滑移动.y * 128 - cen_y, max_y].min].max
  30.       if $game_map.display_x != display_x
  31.          if ($game_map.display_x - display_x).abs < 22
  32.            $game_map.display_x = display_x
  33.          else
  34.            $game_map.display_x += (display_x - $平滑移动.old_display_x)/8
  35.          end
  36.       end
  37.       if $game_map.display_y != display_y
  38.          if ($game_map.display_y - display_y).abs <= 22
  39.             $game_map.display_y = display_y
  40.          else
  41.             $game_map.display_y += (display_y - $平滑移动.old_display_y)/8
  42.          end
  43.       end
  44.       if $game_map.display_x == display_x  and $game_map.display_y == display_y
  45.          $平滑移动.center($平滑移动.x, $平滑移动.y)
  46.          $平滑移动 = nil
  47.        end
  48.       return
  49.   end
  50.  
  51.  
  52. end
  53. class Game_Character
  54.   CENTER_X = (600 - 16) * 4
  55.   CENTER_Y = (350 - 16) * 4
  56.   attr_accessor :old_display_x
  57.   attr_accessor :old_display_y
  58.   attr_accessor :kds_move
  59.   def center(x, y)
  60.     max_x = ($game_map.width - 20) * 128
  61.     max_y = ($game_map.height - 15) * 128
  62.     $game_map.display_x = [0, [x * 128 - CENTER_X, max_x].min].max
  63.     $game_map.display_y = [0, [y * 128 - CENTER_Y, max_y].min].max
  64.   end
  65.   def kds
  66.     @old_display_x = $game_map.display_x
  67.     @old_display_y = $game_map.display_y
  68.     # p 1
  69.  
  70.  
  71.     if $game_temp.inefs #in efs
  72.  
  73.       if $scene.current_leader == nil
  74.         $平滑移动 = $game_player
  75.        # p 1
  76.       else
  77.         $平滑移动 = $scene.current_leader
  78.       end
  79.  
  80.     elsif $game_temp.inslg # In srpg
  81.  
  82.       $平滑移动 = self
  83.     else # Normal
  84.  
  85.       $平滑移动 = self
  86.     end  
  87.  
  88.  
  89.    $scene.deal_pinghuayidong
  90.  
  91.   end
  92.   def kds_move_start
  93.       @kds_move = ""
  94.   end
  95.   def kds_move_over
  96.       @kds_move = nil
  97.   end
  98.   alias kds_update update
  99.   def update
  100.     last_real_x = @real_x
  101.     last_real_y = @real_y
  102.     kds_update
  103.     if @kds_move != nil
  104.      if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
  105.        $game_map.scroll_down(@real_y - last_real_y)
  106.      end
  107.      if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
  108.        $game_map.scroll_left(last_real_x - @real_x)
  109.      end
  110.      if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
  111.       $game_map.scroll_right(@real_x - last_real_x)
  112.      end
  113.      if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
  114.        $game_map.scroll_up(last_real_y - @real_y)
  115.      end
  116.     end
  117.   end  
  118. end

路线镜头.png (144.88 KB, 下载次数: 3)

路线镜头.png
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-9-8 10:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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