Project1

标题: 跳转地图时先显示一张图片20幀再跳转 [打印本页]

作者: 柳飛鷹    时间: 2009-9-18 16:14
标题: 跳转地图时先显示一张图片20幀再跳转
跳转地图时先显示一张图片20幀再跳转
附加显示图片时在画面中心显示要去的地图名 跳转后图片和地图名消失……
作者: Eienshinken    时间: 2009-9-18 16:28
用了显示地名脚本么
切换地图时黑屏 显示图片 然后在消失图片 地图才恢复亮度?
作者: 柳飛鷹    时间: 2009-9-18 16:41
比较主要的问题还是如何获取要去的地图的名字……
作者: Eienshinken    时间: 2009-9-18 16:48
显示地名里有方法.
先读取游戏地图数据
  1. class Scene_Title
  2.   alias smn_main main
  3.   def main
  4.     # 读取地图信息文件
  5.     $data_mapinfos = load_data("Data/MapInfos.rxdata")
  6.     smn_main
  7.   end
  8. end
复制代码
# 获取地图ID
newid = $game_map.map_id
if newid != @id
@id = newid

# 描绘地图名
self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)

主要获取方法是这几句
作者: VIVICAT    时间: 2009-9-18 16:48
用事件就行 用条件分歧判定地图名字,然后显示图片 可以把地名做成图片或者用文字图片显示的脚本
作者: 柳飛鷹    时间: 2009-9-18 16:59
楼上的方法是不是麻烦了?
我还是要脚本……推崇脚本……
LSS 那是现在的地图名 我要的是去的地方的地图名~
作者: Eienshinken    时间: 2009-9-18 17:09
- - 你参照下显示地名脚本嘛.
上面那个就是随地图ID变化而变化名称的...
当地图ID不同的时候 显示地名当然不同了..
然后在打开窗口可见就好咯
不就是直接使用显示地名, 在地图切换前关闭地名显示开关 然后创建一个精灵来显示一张图片
打开显示地名开关,切换地图,关闭显示地名开关,释放精灵.
一切东西添加一个显示地名脚本 然后在Scene_Map里修改就好了哦.
作者: VIVICAT    时间: 2009-9-18 17:13
我怎么觉得事件比脚本简单呢···啊 个人习惯问题吧~
事件的话就可以统统改成一个公共事件解决了
作者: 柳飛鷹    时间: 2009-9-18 17:31
- - 你参照下显示地名脚本嘛.
上面那个就是随地图ID变化而变化名称的...
当地图ID不同的时候 显示地名当然不同了..
然后在打开窗口可见就好咯
不就是直接使用显示地名, 在地图切换前关闭地名显示开关 然后创建一个 ...
Eienshinken 发表于 2009-9-18 17:09

上述方法我都知道啊
问题是 我要显示的是去的地图的名字
注意显示的时候角色还在之前的地图……
作者: 霜冻之狼    时间: 2009-9-18 17:43
9# 柳飛鷹
其实楼上两位的回答已经很完整了
只是你自己没能理解罢了
作者: 白鬼    时间: 2009-9-18 17:50
推崇脚本……
你都没懂4楼的意思

4楼这段脚本,是在地图刚刚切换的时候就进行的。
这不就是切换到了新地图,显示地图名字吗?
在这稍微修改就可以达到这个效果了。

试着改了改
切换地图的时候,总是先显示了地图,才显示出地图名。

看了下Scene_Map,貌似场所移动是在内核中定义的,我无能为力了。
作者: 柳飛鷹    时间: 2009-9-18 17:53
哦哦哦 自己看着楼上研究好了
作者: 传说中di    时间: 2009-9-18 17:53

$game_map.map_id
作者: 胖达达人    时间: 2009-9-18 17:55
殴打LS以及LSS然后占楼看戏
我是马甲?我不是马甲?留给想引用的……的……小……E……
作者: 柳飛鷹    时间: 2009-9-18 18:01
还是说一句……
谁说个完整的方法……
4楼说的显示地图名脚本……
似乎只是显示现在的地图
作者: Eienshinken    时间: 2009-9-18 18:10
本帖最后由 Eienshinken 于 2009-9-18 18:12 编辑

不,我错了.你们也没有理解LZ的意思
我试了下 用移动地图前先判定下一副地图的ID .
用$game_temp.player_new_map_id代入地图数据ID的参数      
self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
提示了没有定义NAME的错误.
只能用Game_Map里的方法么..
求高手解答...
求胖达解答.....- -
作者: 柳飛鷹    时间: 2009-9-18 18:12
看来没有这么容易解决
作者: Eienshinken    时间: 2009-9-18 18:22
你是小显示什么样子的效果呢.
是不是到那个区域了就显示下一张图的地名而不做传送动作?

如果只是显示图片与地名 接着就传送到另外的地图.
那么可以用开关来控制当前地名不显示 转移地图了才显示出地名即可
作者: 柳飛鷹    时间: 2009-9-18 18:53
怎么还是没人明白……
作者: Eienshinken    时间: 2009-9-18 19:02
我不玩过天龙八部 - -
不清楚啦...等待高手吧 汗
作者: 胖达达人    时间: 2009-9-18 20:18
本帖最后由 胖达达人 于 2009-9-19 08:33 编辑

为防有碍观瞻已鞋盒
作者: yyp-alb    时间: 2009-9-18 20:30
弄个公共事件
作者: 柳飛鷹    时间: 2009-9-19 08:01
变成了跳出一个窗口?
需要进一步修改
作者: 胖达达人    时间: 2009-9-19 08:33
  1. class Scene_Map
  2.   def transfer_player
  3.     $game_temp.player_transferring = false
  4.     if $game_map.map_id != $game_temp.player_new_map_id
  5.       Graphics.transition
  6.       data_mapinfos = load_data("Data/MapInfos.rxdata")
  7.       #p data_mapinfos[$game_temp.player_new_map_id].name
  8.       # get sprites
  9.       sprite = Sprite.new
  10.       sprite.z = 1000000
  11.       sprite.bitmap = Bitmap.new(640,480)
  12.       name = data_mapinfos[$game_temp.player_new_map_id].name
  13.       sprite.bitmap.draw_text(0,0,640,480,name,1)
  14.       sprite.opacity = 0
  15.       for i in 1..10
  16.         sprite.opacity += 25
  17.         Graphics.update
  18.       end
  19.       for i in 1..20
  20.         Graphics.update
  21.       end
  22.       for i in 1..10
  23.         sprite.opacity -= 25
  24.         Graphics.update
  25.       end
  26.       sprite.dispose
  27.       Graphics.freeze
  28.       $game_map.setup($game_temp.player_new_map_id)
  29.     end
  30.     $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
  31.     case $game_temp.player_new_direction
  32.     when 2  # 下
  33.       $game_player.turn_down
  34.     when 4  # 左
  35.       $game_player.turn_left
  36.     when 6  # 右
  37.       $game_player.turn_right
  38.     when 8  # 上
  39.       $game_player.turn_up
  40.     end
  41.     $game_player.straighten
  42.     $game_map.update
  43.     @spriteset.dispose
  44.     @spriteset = Spriteset_Map.new
  45.     if $game_temp.transition_processing
  46.       $game_temp.transition_processing = false
  47.       Graphics.transition(20)
  48.     end
  49.     $game_map.autoplay
  50.     Graphics.frame_reset
  51.     Input.update
  52.   end
  53. end
复制代码

作者: 柳飛鷹    时间: 2009-9-19 08:51
本帖最后由 柳飛鷹 于 2009-9-19 13:00 编辑

很好 LS的不错
解决了
实用效果

未命名11.jpg (133.26 KB, 下载次数: 1)

未命名11.jpg





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