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

Project1

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

[已经解决] 战斗背景滚动请教

[复制链接]

Lv5.捕梦者

梦石
0
星屑
36462
在线时间
10800 小时
注册时间
2009-3-15
帖子
4815
跳转到指定楼层
1
发表于 2017-3-13 10:16:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 soulsaga 于 2017-3-13 10:28 编辑

如何才能滚动战斗背景?

https://rpg.blue/thread-292254-1-1.html?_dsign=825b9521
这帖子的方法看不懂啊..

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
发表于 2017-3-13 11:53:31 | 只看该作者
本帖最后由 guoxiaomi 于 2017-3-30 21:21 编辑

帖子里已经说的很清楚了,添加一个 远景平面Plane,然后在 update 里修改 ox、oy。Plane的相关代码在 Spriteset_Map 里面抄就行。

1. 修改 Spriteset_Battle 的 initialize 方法
在生成背景活动块后面,添加生成远景平面的代码,高度设置为 1 则显示在原来的背景前,-1 显示在原来的背景后,用这个方法可以制作部分静止部分移动的战斗背景:
RUBY 代码复制
  1. # 生成战斗背景活动块
  2.     @battleback_sprite = Sprite.new(@viewport1)
  3.     #---------------------------------------
  4.     @panorama = Plane.new(@viewport1)
  5.     @panorama.z = 1
  6.     #---------------------------------------


2. 修改 Spriteset_Battle 的 dispose 方法
在释放背景活动块后面,添加释放远景平面的代码
RUBY 代码复制
  1. # 释放战斗背景活动块
  2.     @battleback_sprite.dispose
  3.     #---------------------------------------
  4.     @panorama.dispose
  5.     #---------------------------------------


3. 修改 Spriteset_Battle 的 update 方法
在更新背景活动块后面,添加更新远景平面的代码,然后添加一下移动方式。
RUBY 代码复制
  1. # 战斗背景的文件名与现在情况有差异的情况下
  2.     if @battleback_name != $game_temp.battleback_name
  3.       @battleback_name = $game_temp.battleback_name
  4.       if @battleback_sprite.bitmap != nil
  5.         @battleback_sprite.bitmap.dispose
  6.       end
  7.       @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  8.       @battleback_sprite.src_rect.set(0, 0, 640, 320)
  9.     end
  10.         #-------------------------------------------------------------
  11.     # 远景与现在的情况有差异发生的情况下
  12.     if @panorama_name != $game_temp.battleback_name
  13.       # 释放远景图
  14.       if @panorama.bitmap != nil
  15.         @panorama.bitmap.dispose
  16.         @panorama.bitmap = nil
  17.       end
  18.       # 绘制远景图
  19.       if @battleback_name =~ /★远景/        
  20.         @panorama_name = $game_temp.battleback_name        
  21.         @panorama.bitmap = RPG::Cache.panorama(@panorama_name, 0)
  22.         Graphics.frame_reset
  23.       end
  24.     end
  25.     # 远景图的移动
  26.     @panorama.ox += 1
  27.     #-------------------------------------------------------------


4. 如果战斗图名称包含‘★远景’,在文件夹 Panoramas 下添加一个和当前战斗背景图同名的文件,将作为远景显示。

5. 如果要添加多层远景,也是类似的方法~

点评

偷偷删掉了 2 行多余的代码……  发表于 2017-3-30 21:23
感谢版主..现在可以了  发表于 2017-3-30 21:19
我测试一下看看……  发表于 2017-3-30 10:39
滚动........  发表于 2017-3-30 10:21
我发现有个问题..战斗中换成瀼动背景后战斗中没法换回普通背景..  发表于 2017-3-30 10:21

评分

参与人数 2星屑 +140 梦石 +1 收起 理由
RyanBern + 1 认可答案
soulsaga + 140 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36462
在线时间
10800 小时
注册时间
2009-3-15
帖子
4815
3
 楼主| 发表于 2017-3-14 20:27:23 | 只看该作者
guoxiaomi 发表于 2017-3-13 11:53
帖子里已经说的很清楚了,添加一个 远景平面Plane,然后在 update 里修改 ox、oy。Plane的相关代码在 Sprit ...

那个..你发的@Panorama = Plane.new(@viewport1
用了大写P..

点评

额……其实那里一开始是个@,我后来改了一下被输入法坑了。已修改  发表于 2017-3-14 20:47

评分

参与人数 1星屑 +66 收起 理由
guoxiaomi + 66 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 06:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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