Project1

标题: 改变解析后,RTP的战斗背景自适全画面+敌人位置修正 [打印本页]

作者: aman1124    时间: 2012-4-14 02:28
标题: 改变解析后,RTP的战斗背景自适全画面+敌人位置修正
本帖最后由 aman1124 于 2012-4-14 02:31 编辑

初次發文多多包涵...
剛下了本站的RM VXA
發現已經改了解析度,使原來RTP的戰鬥背景小小的放中央
對於懶得畫背景的人(例如在下)來說實在有點不便
所以小改了一下RGSS

在Spriteset_Battle中找出以下语法,并加上红字部分
  1. def create_battleback1
  2.     @back1_sprite = Sprite.new(@viewport1)
  3.     @back1_sprite.bitmap = battleback1_bitmap
  4.     @back1_sprite.z = 0
  5.     @back1_sprite.zoom_x = 960 / 544.0
  6.     @back1_sprite.zoom_y = 640 / 416.0
  7.     center_sprite(@back1_sprite)
  8.   end
复制代码
  1.   def create_battleback2
  2.     @back2_sprite = Sprite.new(@viewport1)
  3.     @back2_sprite.bitmap = battleback2_bitmap
  4.     @back2_sprite.z = 1
  5.     @back2_sprite.zoom_x = 960 / 544.0
  6.     @back2_sprite.zoom_y = 640 / 416.0
  7.     center_sprite(@back2_sprite)
  8.   end
复制代码
上文中960是阔度,640是高度,你可以改为自己的设定


另一点比较让人头痛的是敌人位置
在新解析度下完全偏移了
同样小修改一些RGSS就行


在Game_Troop中找出以下语法,并加上红字部分
  1. def setup(troop_id)
  2.     clear
  3.     @troop_id = troop_id
  4.     @enemies = []
  5.     troop.members.each do |member|
  6.       next unless $data_enemies[member.enemy_id]
  7.       enemy = Game_Enemy.new(@enemies.size, member.enemy_id)
  8.       enemy.hide if member.hidden
  9.       enemy.screen_x = member.x * (960/544.0)
  10.       enemy.screen_y = member.y * (640/416.0)
  11.       @enemies.push(enemy)
  12.     end
  13.     init_screen_tone
  14.     make_unique_names
  15.   end
复制代码

同樣960是阔度,640是高度,你可以改为自己的设定

特别提醒一下
544.0和416.0后面的“.0”不能省略
否则会无效
(因为RGSS会自动的页面小数划分的,必须在整数后加上“.0”的声明取得小数位)

以上希望对大家有用



作者: 忧雪の伤    时间: 2012-4-14 20:41
嗯……其实这样也只是偷懒而已,自带的缩放方法的锯齿实在惨不忍睹。




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