查看: 3734|回复: 3

[已经解决] 求一个能累积分数或者计程的脚本

[复制链接]
梦石
0
星屑
5426
在线时间
1016 小时
注册时间
2007-8-13
回帖
154
发表于 2014-7-10 13:40:03 | 显示全部楼层 |阅读模式

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

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

×
正在做一个酷跑类的游戏,功能很简单,跳过障碍以及吃金币。
怎样才能实现吃金币加分,并与最终跑出的里程数结合,在gameover时显示成绩呢?
QQ图片20140710133745.jpg
薇园落英风雨狂,
妮声湮闻人惊忙。
菲才难武如披雨,
尔尔望台志毋伤。

无限の剣制

梦石
0
星屑
10445
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2014-7-10 14:06:08 | 显示全部楼层
本帖最后由 VIPArcher 于 2014-7-10 15:47 编辑

1.变量+等待
并行一个计算分数的事件
QQ图片20140710142036.jpg
吃到金币什么的再把变量加一定的值
2.你试试这个脚本可否合你心意。
[fold=GameOver界面]GameOver界面[pre lang="ruby" line="1"]#==============================================================================
# ■ Window_OverEnd
#------------------------------------------------------------------------------
#  GameOver画面中,选择“读取存档/返回标题”的窗口。
#==============================================================================
module VIPArcher
  Total_Variable = 7 #总分使用的变量
  To_Title = "再来一局" #回到标题按钮显示的文字
  Game_Over = "退出游戏"#退出游戏按钮所用的文字
end

class Window_OverEnd < Window_Command
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0)
    update_placement
    self.openness = 0
    open
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end
  #--------------------------------------------------------------------------
  # ● 更新窗口的位置
  #--------------------------------------------------------------------------
  def update_placement
    self.x = (Graphics.width - width) / 2
    self.y = (Graphics.height - height) / 2
  end
  #--------------------------------------------------------------------------
  # ● 生成指令列表
  #--------------------------------------------------------------------------
  def make_command_list
    add_command(VIPArcher::To_Title, :to_title)  
    add_command(VIPArcher::Game_Over,   :continue)
  end
end
#==============================================================================
# ■ Scene_Gameover
#------------------------------------------------------------------------------
#  游戏结束画面
#==============================================================================

class Scene_Gameover < Scene_Base
  #--------------------------------------------------------------------------
  # ● 开始处理
  #--------------------------------------------------------------------------
  def start
    super
    play_gameover_music
    fadeout_frozen_graphics
    create_help_window
    create_background
    create_command_window
  end
   #--------------------------------------------------------------------------
  # ● 结束前处理
  #--------------------------------------------------------------------------
  def pre_terminate
    super
    close_command_window
  end
  #--------------------------------------------------------------------------
  # ● 生成背景
  #--------------------------------------------------------------------------
  def create_background
    super
    @background_sprite.tone.set(0, 0, 0, 128)
  end
  #--------------------------------------------------------------------------
  # ● 生成指令窗口
  #--------------------------------------------------------------------------
  def create_command_window

    @command_window = Window_OverEnd.new
    @command_window.set_handler(:to_title,   method(:command_totitle))
    @command_window.set_handler(:continue, method(:command_shutdown))
  end
  #--------------------------------------------------------------------------
  # ● 生成帮助窗口
  #--------------------------------------------------------------------------
  def create_help_window
    @help_window = Window_Help.new
    @help_window.viewport = @viewport
    @help_window.set_text(help_window_text)
  end
  #--------------------------------------------------------------------------
  # ● 帮助窗口
  #--------------------------------------------------------------------------
  def help_window_text
    "本局游戏总分为" + $game_variables[VIPArcher::Total_Variable].to_s + "分"
  end
  #--------------------------------------------------------------------------
  # ● 关闭指令窗口
  #--------------------------------------------------------------------------
  def close_command_window
    @command_window.close
    update until @command_window.close?
  end
  #--------------------------------------------------------------------------
  # ● 指令“退出游戏”
  #--------------------------------------------------------------------------
  def command_shutdown
    close_command_window
    fadeout_all
    SceneManager.exit
  end
  #--------------------------------------------------------------------------
  # ● 指令“回到标题”
  #--------------------------------------------------------------------------
  def command_totitle
    close_command_window
    fadeout_all
    SceneManager.goto(Scene_Title)
  end
   #--------------------------------------------------------------------------
  # ● 指令“读取存档”
  #--------------------------------------------------------------------------
  def command_backto
    close_command_window
    SceneManager.call(Scene_Load)
  end
  #--------------------------------------------------------------------------
  # ● 结束处理
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_background
  end
  #--------------------------------------------------------------------------
  # ● 执行渐变
  #--------------------------------------------------------------------------
  def perform_transition
    Graphics.transition(fadein_speed)
  end
  #--------------------------------------------------------------------------
  # ● 播放游戏结束画面的音乐
  #--------------------------------------------------------------------------
  def play_gameover_music
    RPG::BGM.stop
    RPG::BGS.stop
    $data_system.gameover_me.play
  end
  #--------------------------------------------------------------------------
  # ● 冻结画面并淡出
  #--------------------------------------------------------------------------
  def fadeout_frozen_graphics
    Graphics.transition(fadeout_speed)
    Graphics.freeze
  end
  #--------------------------------------------------------------------------
  # ● 生成背景
  #--------------------------------------------------------------------------
  def create_background
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system("GameOver")
  end
  #--------------------------------------------------------------------------
  # ● 释放背景
  #--------------------------------------------------------------------------
  def dispose_background
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  # ● 获取淡出速度
  #--------------------------------------------------------------------------
  def fadeout_speed
    return 60
  end
  #--------------------------------------------------------------------------
  # ● 获取淡入速度
  #--------------------------------------------------------------------------
  def fadein_speed
    return 120
  end
end
[/pre][/fold]
@taroxd 结贴

点评

T_T楼主好人!抱>_<  发表于 2014-7-10 15:41
↓,我很赞同。  发表于 2014-7-10 14:25
不用等待吧直接并行处理变量+1然后在地图上加一个窗口显示变量就可以了  发表于 2014-7-10 14:23

评分

参与人数 2星屑 +30 梦石 +2 收起 理由
taroxd + 2 认可答案
我爱吴悦淇 + 30 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
1737
在线时间
123 小时
注册时间
2023-12-26
回帖
184
发表于 2025-2-24 19:32:27 | 显示全部楼层
脚本怎么用?用哪一句话填写到NPC里????
回复

使用道具 举报

梦石
0
星屑
1737
在线时间
123 小时
注册时间
2023-12-26
回帖
184
发表于 2025-2-24 19:33:38 | 显示全部楼层
能不能发个案例工程出来呀,大佬们
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部