查看: 5677|回复: 3

[已经解决] 如何更改游戏画面显示大小?

[复制链接]
梦石
0
星屑
188
在线时间
10 小时
注册时间
2019-7-23
回帖
10
发表于 2019-7-27 11:47:20 | 显示全部楼层 |阅读模式
悬赏10星屑已解决
就是像mogeko castle等游戏,地图每个格子在游戏中显示的要大一些,是如何实现的?
1405920931161.jpg
1405920993584.jpg

最佳答案

查看完整内容

因为版本不一样,这个Mogeko好像是2K系列制作的,具体是2000还是2003没玩过所以不太清楚,但是本质上是320x240的分辨率,每个格子只有16x16,画面是放大过一倍的,所以看起来显示的更大 非脚本的话可以绘制游戏素材时以16x16为基础再放大一倍,脚本的话有星潟的放大缩小脚本 [pre lang="ruby"]#============================================================================== # ■ RGSS3 マップズーム Ver1.00 by 星潟 # ■ RGS ...
努力学习!!

花匠

梦石
64
星屑
16710
在线时间
4205 小时
注册时间
2016-6-17
回帖
1004

极短26获奖极短24参与开拓者

发表于 2019-7-27 11:47:21 | 显示全部楼层
因为版本不一样,这个Mogeko好像是2K系列制作的,具体是2000还是2003没玩过所以不太清楚,但是本质上是320x240的分辨率,每个格子只有16x16,画面是放大过一倍的,所以看起来显示的更大
非脚本的话可以绘制游戏素材时以16x16为基础再放大一倍,脚本的话有星潟的放大缩小脚本
[pre lang="ruby"]#==============================================================================
# ■ RGSS3 マップズーム Ver1.00 by 星潟
# ■ RGSS3 地图缩放 Ver1.00 by 星潟      翻译:戏蹑群星斗
#------------------------------------------------------------------------------
#地图缩放。就是这样。
#由于缩放状态保存的数据将被保留(就是存档会保留缩放)。请注意
#==============================================================================
# 使用事件命令的脚本。
#------------------------------------------------------------------------------
# map_zoom(150)
#
# 在这种情况下,它会放大到150%。
#------------------------------------------------------------------------------
# map_zoom(300)
#
# 在这种情况下,它会放大到300%。
#------------------------------------------------------------------------------
# map_zoom
#
# 在这种情况下,放大解除。
#==============================================================================
# 100未満のズーム(縮小)や2000%を超えるのズームには制限をかけてあります。
# 因此,100是最小值,最大值2000。
#==============================================================================
class Game_System
  attr_accessor :zoom_mode
  #--------------------------------------------------------------------------
  # ズームモード
  #--------------------------------------------------------------------------
  def zoom_mode
    @zoom_mode ||= 100
  end
end
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ビューポートの作成
  #--------------------------------------------------------------------------
  alias create_viewports_zoommap create_viewports
  def create_viewports
    create_viewports_zoommap
    @zoommap = ZoomMap.new(@viewport1,@viewport2)
  end
  #--------------------------------------------------------------------------
  # 更新処理
  #--------------------------------------------------------------------------
  alias update_zoommap update
  def update
    @zoommap.update
    update_zoommap
  end
  #--------------------------------------------------------------------------
  # 解放処理
  #--------------------------------------------------------------------------
  alias dispose_zoommap dispose
  def dispose
    @zoommap.dispose
    dispose_zoommap
  end
end
class ZoomMap < Sprite_Base
  #--------------------------------------------------------------------------
  # 初期化
  #--------------------------------------------------------------------------
  def initialize(v1,v2)
    super(v2)
    @viewport_data = v1
    @zoom_rate = $game_system.zoom_mode
    @zoom_bitmap = nil
  end
  #--------------------------------------------------------------------------
  # 解放
  #--------------------------------------------------------------------------
  def dispose
    @zoom_bitmap.dispose if @zoom_bitmap && !@zoom_bitmap.disposed?
    super
  end
  #--------------------------------------------------------------------------
  # 更新処理
  #--------------------------------------------------------------------------
  def update
    self.visible = @zoom_rate != 100
    @zoom_bitmap.dispose if @zoom_bitmap && !@zoom_bitmap.disposed?
    if $game_system.zoom_mode != 100 or @zoom_rate != 100
      if @zoom_rate != $game_system.zoom_mode
        d = (@zoom_rate - $game_system.zoom_mode).to_i
        case d
        when 0..9;i = 1
        when 10..99;i = 2
        when 100..999;i = 3
        else; i = 4
        end
        @zoom_rate += (@zoom_rate < $game_system.zoom_mode) ? i : -i
      end
      zm = @zoom_rate.to_f / 100
      @viewport_data.z += 10000000
      @zoom_bitmap = Graphics.snap_to_bitmap
      self.bitmap = @zoom_bitmap
      w = self.bitmap.width
      h =self.bitmap.height
      self.ox = [[0,((w * zm / 2) - w / 2) / zm + (($game_player.screen_x - w / 2).to_f)].max,(w * zm - w) / zm].min
      self.oy = [[0,((h * zm / 2) - h / 2) / zm + (($game_player.screen_y - 16 - h / 2).to_f)].max,(h * zm - h) / zm].min
      self.zoom_x = zm
      self.zoom_y = zm
      self.visible = true
      @viewport_data.z -= 10000000
    end
    super
  end
end
class Game_Interpreter
  #--------------------------------------------------------------------------
  # ズーム
  #--------------------------------------------------------------------------
  def map_zoom(rate = 100)
    $game_system.zoom_mode = [[rate,100].max,2000].min
  end
end[/pre]

评分

参与人数 1星屑 +40 收起 理由
VIPArcher + 40 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
7066
在线时间
607 小时
注册时间
2017-11-10
回帖
656

极短21参与

发表于 2019-7-27 13:05:59 | 显示全部楼层
搜索ZOOM放大脚本试试
回复

使用道具 举报

梦石
0
星屑
188
在线时间
10 小时
注册时间
2019-7-23
回帖
10
 楼主| 发表于 2019-7-27 18:03:57 | 显示全部楼层
Arfies 发表于 2019-7-27 11:47
因为版本不一样,这个Mogeko好像是2K系列制作的,具体是2000还是2003没玩过所以不太清楚,但是本质上是320x ...

感谢老师!!!
努力学习!!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部