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

Project1

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

又一个问题?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2009-1-27
帖子
9
跳转到指定楼层
1
发表于 2009-2-18 02:24:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
是这样的,我设定到了一张新地图后自动发生战斗,然后战斗结束后我想地图上自动出现一个人与主角对话,然后我做了把,战斗结束这个人怎么也不出现?到底要怎么设定呀?真是急死我啦!
此贴于 2009-2-18 17:51:09 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:版主帮忙结贴~
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-4-2
帖子
51
2
发表于 2009-2-18 02:54:53 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

夜天の主

梦石
0
星屑
124
在线时间
1552 小时
注册时间
2008-4-13
帖子
2347

开拓者第4届短篇游戏比赛亚军

3
发表于 2009-2-18 03:07:03 | 只看该作者
LS正解,另外再提供一种方法~
在楼主需要战斗后出现人物的位置放一个事件,把事件图形设成LZ想要的人物,然后把事件的不透明度设为0~在战斗结束后设置这个事件的移动路线,把不透明度改为255就OK啦~
p.s.LZ还可以根据需要在设置不透明度之前填一个传送动画或者把不透明度慢慢改到255,这样可以做出那个人物传送出现或者慢慢出现的效果哦~
以上~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2008-7-21
帖子
174
4
发表于 2009-2-18 03:11:13 | 只看该作者
战斗胜利结束之后,可能大家需要不同的处理。其实全部可以写在公共事件里面
简单说来,修改方法和原理如下:

1、Scene_Battle 2中找到:update_phase5,这段是有关胜利的设置。如果使用了其它战斗脚本,请在你自己添加的战斗脚本中找到相应位置。修改如下:

  def update_phase5
    # 等待计数大于 0 的情况下
    if @phase5_wait_count > 0
      # 减少等待计数
      @phase5_wait_count -= 1
      # 等待计数为 0 的情况下
      if @phase5_wait_count == 0
        # 显示结果窗口
        @result_window.visible = true
        # 清除主回合标志
        $game_temp.battle_main_phase = false
        # 刷新状态窗口
        @status_window.refresh      
        #####################################################################
        #####################################################################
        common_event = $data_common_events[1]
        $game_system.battle_interpreter.setup(common_event.list, 0)
        #####################################################################
        #####################################################################
      end
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 战斗结束
      battle_end(0)
    end
  end

红色部分就是添加的内容。意思是战斗处理器调用数据库公共事件1号。

好了。脚本方面设置完毕。下面是数据库部分:

2、数据库方面:

首先先是执行一段内容(我就不多说了,比如等20帧,所有角色显示动画“QQ_高兴”,显示一段文章,根据随机数获得物品等)。反正就是自定义内容先执行。

执行完毕,等待1帧,接着是执行脚本:

    $game_temp.in_battle = false
    $game_party.clear_actions
    for actor in $game_party.actors
      actor.remove_states_battle
    end
    $game_troop.enemies.clear
    if $game_temp.battle_proc != nil
      $game_temp.battle_proc.call(0)
      $game_temp.battle_proc = nil
    end

再等待1帧,再执行脚本:

$scene = Scene_Map.new

最后再等待1帧即可。

这段的原理,第一大段脚本是def battle_end里面的内容,第二段是返回地图。如果不这么执行,事件执行器可能会循环卡住,或者忘记做一些收尾工作。所以中间要等待几帧。

用公共事件1解决
如:在战斗前开启 开关1
在你须要的地方设置  开关1为no时
把你的行走图搞上
如图





回复 支持 反对

使用道具 举报

Lv1.梦旅人


梦石
0
星屑
89
在线时间
24 小时
注册时间
2006-5-27
帖子
11425

贵宾

5
发表于 2009-2-18 03:59:13 | 只看该作者
其实……直接勾选失败后继续,再做角色行走路线,继续事件不就完了么- -
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-17 23:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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