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

Project1

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

[推荐问答] 求助~伪3D与双远景同时存在,切换场景时会跳框,释放问题

[复制链接]

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

跳转到指定楼层
1
发表于 2012-5-25 13:19:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RT,伪3D加强版,和双远景图脚本同时存在,在使用3D效果的地图里,战斗、场所移动等切换场景的操作时会跳框

    # 释放远景平面
    @panorama.dispose
    @panorama2.dispose   ← 这行错误

这是范例:感谢!
Project2.rar (195.04 KB, 下载次数: 32266)

Lv1.梦旅人

梦石
0
星屑
94
在线时间
648 小时
注册时间
2009-2-3
帖子
238
2
发表于 2012-5-25 13:40:59 | 只看该作者
把这行注释掉

点评

那双远景就废了  发表于 2012-5-25 13:41
回复

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
3
发表于 2012-5-25 13:47:21 | 只看该作者
好奇下,楼主用这种地图,还要双远景脚本干嘛?

点评

= = 一般用双远景 小游戏用3D  发表于 2012-5-25 14:35
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
64
在线时间
4352 小时
注册时间
2007-8-31
帖子
1982
4
发表于 2012-5-25 17:28:28 | 只看该作者
不知道楼主想要什么效果
用这个替换掉伪3D后面的 class Spriteset_Map 试试
  1. class Spriteset_Map
  2.   alias asperta_initialize initialize
  3.   def initialize
  4.     asperta_initialize
  5.     @viewport1 = Viewport.new(0, 0, 640, 480)
  6.     @viewport2 = Viewport.new(0, 0, 640, 480)
  7.     @viewport3 = Viewport.new(0, 0, 640, 480)
  8.     @viewport2.z = 200
  9.     @viewport3.z = 5000
  10.     if $game_map.W3D
  11.       @tilemap = W3DTilemap.new(@viewport1)
  12.       @tilemap.terrain = $game_map.terrain_tags
  13.     else
  14.       @tilemap = Tilemap.new(@viewport1)
  15.     end
  16.     @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
  17.     for i in 0..6
  18.       autotile_name = $game_map.autotile_names[i]
  19.       @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
  20.     end
  21.     @tilemap.map_data = $game_map.data
  22.     @tilemap.priorities = $game_map.priorities
  23.     @panorama = Plane.new(@viewport1)
  24.     @panorama.z = -1000
  25.     @fog = Plane.new(@viewport1)
  26.     @fog.z = 3000
  27.     @character_sprites = []
  28.     for i in $game_map.events.keys.sort
  29.       sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  30.       @character_sprites.push(sprite)
  31.     end
  32.     @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  33.     @weather = RPG::Weather.new(@viewport1)
  34.     @picture_sprites = []
  35.     for i in 1..50
  36.       @picture_sprites.push(Sprite_Picture.new(@viewport2,
  37.         $game_screen.pictures[i]))
  38.     end
  39.     @timer_sprite = Sprite_Timer.new
  40.     update
  41.   end
  42. ###########重定义update       更改远景图更新速度 直接复制默认的  顺着箭头往下走
  43.   alias asperta_update update
  44.   def update
  45.     asperta_update
  46.     # 远景与现在的情况有差异发生的情况下                                     ↓
  47.     if @panorama_name != $game_map.panorama_name or#                         ↓
  48.        @panorama_hue != $game_map.panorama_hue#                              ↓
  49.       @panorama_name = $game_map.panorama_name#                              ↓
  50.       @panorama_hue = $game_map.panorama_hue#                                ↓
  51.       if @panorama.bitmap != nil#                                            ↓
  52.         @panorama.bitmap.dispose#                                            ↓
  53.         @panorama.bitmap = nil#                                              ↓
  54.       end
  55.       if @panorama_name != ""#                                               ↓
  56.         @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
  57.       end
  58.       Graphics.frame_reset#                                                  ↓
  59.     end
  60.     # 雾与现在的情况有差异的情况下                                           ↓
  61.     if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue#     ↓
  62.       @fog_name = $game_map.fog_name#                                        ↓
  63.       @fog_hue = $game_map.fog_hue#                                          ↓
  64.       if @fog.bitmap != nil#                                                 ↓
  65.         @fog.bitmap.dispose#                                                 ↓
  66.         @fog.bitmap = nil#                                                   ↓
  67.       end
  68.       if @fog_name != ""
  69.         @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)#                   ↓
  70.       end
  71.       Graphics.frame_reset#                                                  ↓
  72.     end
  73.     # 刷新元件地图
  74.     @tilemap.ox = $game_map.display_x / 4#                                   ↓
  75.     @tilemap.oy = $game_map.display_y / 4#                                   ↓
  76.     @tilemap.update
  77.     # 刷新远景平面#                                                          ↓
  78.     @panorama.ox = $game_map.display_x / 8 #这里更改X速度                   ←
  79.     @panorama.oy = $game_map.display_y * 0 #这里更改Y速度                   ←
  80.     # 刷新雾平面
  81.     @fog.zoom_x = $game_map.fog_zoom / 100.0
  82.     @fog.zoom_y = $game_map.fog_zoom / 100.0
  83.     @fog.opacity = $game_map.fog_opacity
  84.     @fog.blend_type = $game_map.fog_blend_type
  85.     @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
  86.     @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
  87.     @fog.tone = $game_map.fog_tone
  88.     # 刷新角色活动块
  89.     for sprite in @character_sprites
  90.       sprite.update
  91.     end
  92.     # 刷新天候图形
  93.     @weather.type = $game_screen.weather_type
  94.     @weather.max = $game_screen.weather_max
  95.     @weather.ox = $game_map.display_x / 4
  96.     @weather.oy = $game_map.display_y / 4
  97.     @weather.update
  98.     # 刷新图片
  99.     for sprite in @picture_sprites
  100.       sprite.update
  101.     end
  102.     # 刷新计时器块
  103.     @timer_sprite.update
  104.     # 设置画面的色调与震动位置
  105.     @viewport1.tone = $game_screen.tone
  106.     @viewport1.ox = $game_screen.shake
  107.     # 设置画面的闪烁色
  108.     @viewport3.color = $game_screen.flash_color
  109.     # 刷新显示端口
  110.     @viewport1.update
  111.     @viewport3.update
  112.   end
  113. end
复制代码

点评

应该不是吧 就是 从3D地图 场所移动到非3D的双远景地图 你试试= =  发表于 2012-5-25 22:48
恩 我就是想要 双远景与伪3D互不干涉的效果…… 测试了一下 貌似还没跳框 谢了~  发表于 2012-5-25 19:12
我真是王小二过年,一年不如一年。目前正在寻找状态中,努力找回当初的动力!
“底蕴制作者”—asperta最新博客开通!以后将在这里更新制作进度报告!
我的作品官网:http://www.asperta.org/
ASPERTA世界论坛:http://bbs.asperta.org/


回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

5
 楼主| 发表于 2012-5-25 19:15:23 | 只看该作者
asperta 发表于 2012-5-25 17:28
不知道楼主想要什么效果
用这个替换掉伪3D后面的 class Spriteset_Map 试试

呃 还是出BUG了   替换以后 伪3D没事了 双远景 场所移动的瞬间没问题  然后立刻会变黑  貌似是因为刷新问题?

点评

试了下没有发现你说的那个问题,是不是又和别的什么脚本冲突了~~  发表于 2012-5-25 20:15
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
64
在线时间
4352 小时
注册时间
2007-8-31
帖子
1982
6
发表于 2012-5-26 08:13:18 | 只看该作者
天使喝可乐 发表于 2012-5-25 19:15
呃 还是出BUG了   替换以后 伪3D没事了 双远景 场所移动的瞬间没问题  然后立刻会变黑  貌似是因为刷新问 ...

还是没发现问题,这个你试试
天使喝1.rar (232.04 KB, 下载次数: 138)
我真是王小二过年,一年不如一年。目前正在寻找状态中,努力找回当初的动力!
“底蕴制作者”—asperta最新博客开通!以后将在这里更新制作进度报告!
我的作品官网:http://www.asperta.org/
ASPERTA世界论坛:http://bbs.asperta.org/


回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

7
 楼主| 发表于 2012-5-26 09:37:03 | 只看该作者
asperta 发表于 2012-5-26 08:13
还是没发现问题,这个你试试

你误解了= = 双远景是  a为底图   a_2是遮挡层     现在改的   a_2成了底图了      

工程中 已经设置好一个双远景   不必场所移动   直接出生在双远景处  过一秒全黑 这样的
测试.rar (783.62 KB, 下载次数: 97)
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
64
在线时间
4352 小时
注册时间
2007-8-31
帖子
1982
8
发表于 2012-5-26 10:08:42 | 只看该作者
天使喝可乐 发表于 2012-5-26 09:37
你误解了= = 双远景是  a为底图   a_2是遮挡层     现在改的   a_2成了底图了      

工程中 已经设置好 ...

测试2.rar (783.36 KB, 下载次数: 109)
我真是王小二过年,一年不如一年。目前正在寻找状态中,努力找回当初的动力!
“底蕴制作者”—asperta最新博客开通!以后将在这里更新制作进度报告!
我的作品官网:http://www.asperta.org/
ASPERTA世界论坛:http://bbs.asperta.org/


回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

9
 楼主| 发表于 2012-5-26 11:17:47 | 只看该作者
本帖最后由 天使喝可乐 于 2012-5-26 11:21 编辑
asperta 发表于 2012-5-26 10:08


呃  当地图扩大时 远景图不会跟随移动= =   
现在_2会移动 原图不动……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
64
在线时间
4352 小时
注册时间
2007-8-31
帖子
1982
10
发表于 2012-5-26 11:36:48 | 只看该作者
本帖最后由 asperta 于 2012-5-26 11:37 编辑
天使喝可乐 发表于 2012-5-26 11:17
呃  当地图扩大时 远景图不会跟随移动= =   
现在_2会移动 原图不动……


测试3.rar (783.49 KB, 下载次数: 417)
我真是王小二过年,一年不如一年。目前正在寻找状态中,努力找回当初的动力!
“底蕴制作者”—asperta最新博客开通!以后将在这里更新制作进度报告!
我的作品官网:http://www.asperta.org/
ASPERTA世界论坛:http://bbs.asperta.org/


回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 14:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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