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

Project1

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

[已经解决] 图片标题修改求思路求方法......

[复制链接]

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

跳转到指定楼层
1
发表于 2013-9-20 23:29:29 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 美丽晨露 于 2013-9-21 15:14 编辑

以下是范例:
多图片标题.zip (987.04 KB, 下载次数: 99)

我想讲图片标题做出以下效果······
1.标题背景等待一段帧数后会切换到另一张,以渐变的效果切换······
2.人物素材显示在右方,两个人物随机出现一个。
且会在标题中眨眼(切换图片效果)······
3.点击第一、第二、第三选项时,等待,人物素材变为“名称3”
执行下面的事情。


已经自行修改了一番,但是第三项依旧无法实现······
求脚本大师帮助。

RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5. #==============================================================================
  6. # ■ 图片标题菜单1.0
  7. # Scene_Title
  8. #------------------------------------------------------------------------------
  9. # 作者:chaochao
  10. # [url]http://zhuchao.go1.icpcn.com[/url]
  11. #==============================================================================
  12. class Scene_Title
  13.   def main
  14.     if $BTEST
  15.       battle_test
  16.       return
  17.     end
  18.     $data_actors = load_data("Data/Actors.rxdata")
  19.     $data_classes = load_data("Data/Classes.rxdata")
  20.     $data_skills = load_data("Data/Skills.rxdata")
  21.     $data_items = load_data("Data/Items.rxdata")
  22.     $data_weapons = load_data("Data/Weapons.rxdata")
  23.     $data_armors = load_data("Data/Armors.rxdata")
  24.     $data_enemies = load_data("Data/Enemies.rxdata")
  25.     $data_troops = load_data("Data/Troops.rxdata")
  26.     $data_states = load_data("Data/States.rxdata")
  27.     $data_animations = load_data("Data/Animations.rxdata")
  28.     $data_tilesets = load_data("Data/Tilesets.rxdata")
  29.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  30.     $data_system = load_data("Data/System.rxdata")
  31.     $game_system = Game_System.new
  32.     # 生成标题图形
  33.     [url=home.php?mod=space&uid=114926]@sprite[/url] = [Sprite.new]
  34.     for i in 0..8
  35.       @sprite[i] = Sprite.new
  36.       @sprite[i].opacity = 0
  37.     end
  38.     # 生成标题图形
  39.     @titleback = Sprite.new
  40.     @titleback.bitmap = Bitmap.new(640, 480)
  41.     #生成标题变换图形
  42.     @titlesp = Sprite.new
  43.     @titlespbmp = []
  44.     for j in 0...3
  45.       @titlespbmp[j] = Bitmap.new("Graphics/Titles/标题" + (j + 1).to_s)
  46.     end
  47.     #
  48.     @titlesp.opacity = 127
  49.     @titlesp.bitmap = @titlespbmp[0]
  50.     @bmpsequence = 0
  51.     @bmpopacity = 255
  52.     @bmpdirect = 1
  53.     @titleback.bitmap.fill_rect(0, 0, 640, 480, Color.new(255, 255, 255, 255))
  54.     #
  55.     # 随机人物
  56.     randpeople = rand(2)
  57.    #生成人物
  58.     @lidelu = Sprite.new
  59.     @lidelubmp = []
  60.     for j in 0...3
  61.       case randpeople
  62.       when 0
  63.       @lidelubmp[j] = Bitmap.new("Graphics/Titles/莉德露" + (j + 1).to_s)
  64.       when 1
  65.       @lidelubmp[j] = Bitmap.new("Graphics/Titles/巫女" + (j + 1).to_s)
  66.       end
  67.     end
  68.     @lidelu.bitmap = @lidelubmp[0]
  69.     @lidelu.x = 300
  70.     @lidelu.y = 120
  71.     @lidelu.z = 9999
  72.     @lidelublinkcount = 0
  73.     ###
  74.     @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
  75.     @sprite[0].opacity = 0
  76.     @sprite[0].z =9999
  77.     #开始游戏的图片
  78.     @sprite[1].bitmap = Bitmap.new("Graphics/Titles/开始1.png")
  79.     @sprite[2].bitmap = Bitmap.new("Graphics/Titles/开始2.png")
  80.     @sprite[1].z =9999
  81.     @sprite[2].z =9999
  82.     #继续游戏的图片
  83.     @sprite[3].bitmap = Bitmap.new("Graphics/Titles/继续1.png")
  84.     @sprite[4].bitmap = Bitmap.new("Graphics/Titles/继续2.png")
  85.     @sprite[3].z =9999
  86.     @sprite[4].z =9999
  87.     #结束游戏的图片
  88.     @sprite[5].bitmap = Bitmap.new("Graphics/Titles/人物1.png")
  89.     @sprite[6].bitmap = Bitmap.new("Graphics/Titles/人物2.png")
  90.     @sprite[5].z =9999
  91.     @sprite[6].z =9999
  92.     #第四项的图片
  93.     @sprite[7].bitmap = Bitmap.new("Graphics/Titles/退出1.png")
  94.     @sprite[8].bitmap = Bitmap.new("Graphics/Titles/退出2.png")
  95.     @sprite[7].z =9999
  96.     @sprite[8].z =9999
  97.     #图片位置
  98.     for i in 1..8
  99.       x=135
  100.       y=(i+1)/2*35+240
  101.       @sprite[i].x =x
  102.       @sprite[i].y =y
  103.     end
  104.     @continue_enabled = false
  105.     for i in 0..3
  106.       if FileTest.exist?("Save#{i+1}.rxdata")
  107.         @continue_enabled = true
  108.       end
  109.     end
  110.     if @continue_enabled
  111.       @command_index = 1
  112.     else
  113.       @command_index = 0
  114.       @sprite[3].tone = Tone.new(0, 0, 0, 255)
  115.       @sprite[4].tone = Tone.new(0, 0, 0, 255)
  116.     end
  117.     $game_system.bgm_play($data_system.title_bgm)
  118.     Audio.me_stop
  119.     Audio.bgs_stop
  120.     Graphics.transition
  121.     loop do
  122.       Graphics.update
  123.       #淡出背景圖形
  124.       if @sprite[0].opacity <= 255
  125.         @sprite[0].opacity += 15
  126.       end
  127.       Input.update
  128.       update
  129.       if $scene != self
  130.         break
  131.       end
  132.     end
  133.     Graphics.freeze
  134.     # 釋放圖形
  135.     @titleback.bitmap.dispose
  136.     @titleback.dispose
  137.     for j in 0...3
  138.       @titlespbmp[j].dispose
  139.     end
  140.     @lidelu.dispose
  141.     for j in 0...3
  142.       @lidelubmp[j].dispose
  143.     end
  144.     @titlesp.dispose
  145.     for i in 0..8
  146.       @sprite[i].bitmap.dispose
  147.       @sprite[i].dispose
  148.     end
  149.   end
  150.   def update
  151.   chaochaocommandchaochao
  152.   if Input.trigger?(Input::C)
  153.     case @command_index  
  154.       when 0
  155.         command_new_game
  156.       when 1
  157.         command_continue
  158.       when 2
  159.  
  160.       when 3
  161.         command_shutdown
  162.       end
  163.     end
  164.    # 更新背景图片
  165.     if @bmpdirect > 0
  166.       @bmpopacity += 10
  167.       if @bmpopacity >= 1200
  168.         @bmpdirect = -1
  169.       end
  170.     else
  171.       @bmpopacity -= 10
  172.       if @bmpopacity <= 0
  173.         @bmpdirect = 1
  174.         # 更换人物和背景图片
  175.         @bmpsequence = (@bmpsequence + 1) % 3
  176.         @titlesp.bitmap = @titlespbmp[@bmpsequence]
  177.       end
  178.     end
  179.     #更换图片操作
  180.     @titlesp.opacity = (@bmpopacity > 255 ? 127 : @bmpopacity / 2)
  181.     @lidelublinkcount = (@lidelublinkcount + 1) % 60
  182.     @lidelu.bitmap = @lidelubmp[@lidelublinkcount >= 52 ? 1 : 0]
  183.   end
  184.   #
  185.   def chaochaocommandchaochao
  186.     if Input.trigger?(Input::UP)
  187.       @command_index -= 1
  188.       if @command_index < 0
  189.         @command_index = 3
  190.       end
  191.       $game_system.se_play($data_system.cursor_se)
  192.     end
  193.     if Input.trigger?(Input::DOWN)
  194.       @command_index += 1
  195.       if @command_index > 3
  196.         @command_index = 0
  197.       end
  198.       $game_system.se_play($data_system.cursor_se)
  199.     end
  200.     case @command_index
  201.    when 0
  202.       if @sprite[1].opacity >= 0
  203.         @sprite[1].opacity -= 30
  204.       end
  205.       if @sprite[2].opacity <= 240
  206.         @sprite[2].opacity += 30
  207.       end
  208.       if @sprite[3].opacity <= 210
  209.         @sprite[3].opacity += 30
  210.       end
  211.       if @sprite[4].opacity >= 0
  212.         @sprite[4].opacity -= 30
  213.       end
  214.       if @sprite[5].opacity <= 210
  215.         @sprite[5].opacity += 30
  216.       end
  217.       if @sprite[6].opacity >= 0
  218.         @sprite[6].opacity -= 30
  219.       end
  220.       if @sprite[7].opacity <= 210
  221.         @sprite[7].opacity += 30
  222.       end
  223.       if @sprite[8].opacity >= 0
  224.         @sprite[8].opacity -= 30
  225.       end
  226.     when 1
  227.       if @sprite[1].opacity <= 210
  228.         @sprite[1].opacity += 30
  229.       end
  230.       if @sprite[2].opacity >= 0
  231.         @sprite[2].opacity -= 30
  232.       end
  233.       if @sprite[3].opacity >= 0
  234.         @sprite[3].opacity -= 30
  235.       end
  236.       if @sprite[4].opacity <= 240
  237.         @sprite[4].opacity += 30
  238.       end
  239.       if @sprite[5].opacity <= 210
  240.         @sprite[5].opacity += 30
  241.       end
  242.       if @sprite[6].opacity >= 0
  243.         @sprite[6].opacity -= 30
  244.       end
  245.       if @sprite[7].opacity <= 210
  246.         @sprite[7].opacity += 30
  247.       end
  248.       if @sprite[8].opacity >= 0
  249.         @sprite[8].opacity -= 30
  250.       end
  251.     when 2
  252.       if @sprite[1].opacity <= 210
  253.         @sprite[1].opacity += 30
  254.       end
  255.       if @sprite[2].opacity >= 0
  256.         @sprite[2].opacity -= 30
  257.       end
  258.       if @sprite[3].opacity <= 210
  259.         @sprite[3].opacity += 30
  260.       end
  261.       if @sprite[4].opacity >= 0
  262.         @sprite[4].opacity -= 30
  263.       end
  264.       if @sprite[5].opacity >= 0
  265.         @sprite[5].opacity -= 30
  266.       end
  267.       if @sprite[6].opacity <= 240
  268.         @sprite[6].opacity += 30
  269.       end
  270.       if @sprite[7].opacity <= 210
  271.         @sprite[7].opacity += 30
  272.       end
  273.       if @sprite[8].opacity >= 0
  274.         @sprite[8].opacity -= 30
  275.       end
  276.       when 3
  277.       if @sprite[1].opacity <= 210
  278.         @sprite[1].opacity += 30
  279.       end
  280.       if @sprite[2].opacity >= 0
  281.         @sprite[2].opacity -= 30
  282.       end
  283.       if @sprite[3].opacity <= 210
  284.         @sprite[3].opacity += 30
  285.       end
  286.       if @sprite[4].opacity >= 0
  287.         @sprite[4].opacity -= 30
  288.       end
  289.       if @sprite[7].opacity >= 0
  290.         @sprite[7].opacity -= 30
  291.       end
  292.       if @sprite[8].opacity <= 240
  293.         @sprite[8].opacity += 30
  294.       end
  295.       if @sprite[5].opacity <= 210
  296.         @sprite[5].opacity += 30
  297.       end
  298.       if @sprite[6].opacity >= 0
  299.         @sprite[6].opacity -= 30
  300.       end
  301.     end
  302.   end
  303. end
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
14
发表于 2013-9-21 22:36:48 | 只看该作者
美丽晨露 发表于 2013-9-21 21:58
谢谢的说
不知道怎么回事
@people_array[j].bitmap = Bitmap.new(("Graphics/Titles/巫女" ...


13行多了一个括号
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

  6. class Scene_Title
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 战斗测试的情况下
  12.     if $BTEST
  13.       battle_test
  14.       return
  15.     end
  16.     # 载入数据库
  17.     $data_actors        = load_data("Data/Actors.rxdata")
  18.     $data_classes       = load_data("Data/Classes.rxdata")
  19.     $data_skills        = load_data("Data/Skills.rxdata")
  20.     $data_items         = load_data("Data/Items.rxdata")
  21.     $data_weapons       = load_data("Data/Weapons.rxdata")
  22.     $data_armors        = load_data("Data/Armors.rxdata")
  23.     $data_enemies       = load_data("Data/Enemies.rxdata")
  24.     $data_troops        = load_data("Data/Troops.rxdata")
  25.     $data_states        = load_data("Data/States.rxdata")
  26.     $data_animations    = load_data("Data/Animations.rxdata")
  27.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  28.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  29.     $data_system        = load_data("Data/System.rxdata")
  30.     # 生成系统对像
  31.     $game_system = Game_System.new
  32.     # 生成标题图形
  33.     @sprite= Sprite.new
  34.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  35. @rand_people = rand(2) + 1#现在@rand_people的值只可能是1或2
  36. #生成
  37. @people_array = []
  38. for j in 0...2
  39. @people_array[j] = Sprite.new#必须全部Sprite.new
  40. case @rand_people
  41. when 1
  42. #这里的<<和+其实是一样的意思
  43. @people_array[j].bitmap = Bitmap.new("Graphics/Titles/莉德露"<<(j+1).to_s)
  44. when 2
  45. @people_array[j].bitmap = Bitmap.new("Graphics/Titles/巫女"<<(j+1).to_s)
  46. end
  47. #@people_array[j].x = 0
  48. #@people_array[j].y = 0
  49. #@people_array[j].opacity = 255
  50. end
  51.     # 生成命令窗口
  52.     s1 = "新游戏"
  53.     s2 = "继续"
  54.     s3 = "退出"
  55.     @command_window = Window_Command.new(192, [s1, s2, s3])
  56.     @command_window.back_opacity = 160
  57.     @command_window.x = 320 - @command_window.width / 2
  58.     @command_window.y = 288
  59.     # 判定继续的有效性
  60.     # 存档文件一个也不存在的时候也调查
  61.     # 有効为 @continue_enabled 为 true、无效为 false
  62.     @continue_enabled = false
  63.     for i in 0..3
  64.       if FileTest.exist?("Save#{i+1}.rxdata")
  65.         @continue_enabled = true
  66.       end
  67.     end
  68.     # 继续为有效的情况下、光标停止在继续上
  69.     # 无效的情况下、继续的文字显示为灰色
  70.     if @continue_enabled
  71.       @command_window.index = 1
  72.     else
  73.       @command_window.disable_item(1)
  74.     end
  75.     # 演奏标题 BGM
  76.     $game_system.bgm_play($data_system.title_bgm)
  77.     # 停止演奏 ME、BGS
  78.     Audio.me_stop
  79.     Audio.bgs_stop
  80.     # 执行过渡
  81.     Graphics.transition
  82.     # 主循环
  83.     loop do
  84.       # 刷新游戏画面
  85.       Graphics.update
  86.       # 刷新输入信息
  87.       Input.update
  88.       # 刷新画面
  89.       update
  90.       # 如果画面被切换就中断循环
  91.       if $scene != self
  92.         break
  93.       end
  94.     end
  95.     # 装备过渡
  96.     Graphics.freeze
  97.     # 释放命令窗口
  98.     @command_window.dispose
  99.     # 释放标题图形
  100.     @sprite.bitmap.dispose
  101.     @sprite.dispose
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 刷新画面
  105.   #--------------------------------------------------------------------------
  106.   def update
  107.     # 刷新命令窗口
  108.     @command_window.update
  109.     # 按下 C 键的情况下
  110. if Input.trigger?(Input::C)
  111.   case @command_index  
  112.   when 0
  113.    #先释放掉之前的图片否则就效果错误了,要么改透明度重新调图
  114.    #for i in 0...2
  115.    #@people_array[i].bitmap.dispose
  116.    #@people_array[i].dispose
  117.    #end
  118.    #不管怎么分歧,之前图是要影藏的,所以这个可以放在分歧外边
  119.    for i in 0...2
  120.    @people_array[i].opacity = 0
  121.    end
  122.    @people_new.Sprite.new
  123.    case @rand_people#必须带@,否则随机数传不过来(除$)
  124.    when 1
  125.    #方法1
  126.    #读取新的图片
  127.    #@people_array[0].bitmap= Bitmap.new("Graphics/Titles/莉德露3" )
  128.    #方法2
  129.    #因为只是一张图可以改之前图的透明度,重新调图
  130.    @people_new.bitmap = Bitmap.new("Graphics/Titles/莉德露3" )
  131.    when 2
  132.    #方法1
  133.    #读取新的图片
  134.    #@people_array[0].bitmap= Bitmap.new("Graphics/Titles/巫女3" )
  135.    #方法2
  136.    #因为只是一张图可以改之前图的透明度,重新调图
  137.    @people_new.bitmap= Bitmap.new("Graphics/Titles/巫女3" )
  138.    end
  139.    #@people_new.x = 0
  140.    #@people_new.y = 0
  141.    #@people_new.opacity = 255
  142.   for t in 0...5#等待。调整5改变等待时间
  143.    Graphics.update
  144.   end
  145.   command_new_game
  146.   when 1
  147.   command_continue
  148.   when 2
  149.   when 3
  150.   command_shutdown
  151.   end
  152. end
  153.   end
  154.   #--------------------------------------------------------------------------
  155.   # ● 命令 : 新游戏
  156.   #--------------------------------------------------------------------------
  157.   def command_new_game
  158.     # 演奏确定 SE
  159.     $game_system.se_play($data_system.decision_se)
  160.     # 停止 BGM
  161.     Audio.bgm_stop
  162.     # 重置测量游戏时间用的画面计数器
  163.     Graphics.frame_count = 0
  164.     # 生成各种游戏对像
  165.     $game_temp          = Game_Temp.new
  166.     $game_system        = Game_System.new
  167.     $game_switches      = Game_Switches.new
  168.     $game_variables     = Game_Variables.new
  169.     $game_self_switches = Game_SelfSwitches.new
  170.     $game_screen        = Game_Screen.new
  171.     $game_actors        = Game_Actors.new
  172.     $game_party         = Game_Party.new
  173.     $game_troop         = Game_Troop.new
  174.     $game_map           = Game_Map.new
  175.     $game_player        = Game_Player.new
  176.     # 设置初期同伴位置
  177.     $game_party.setup_starting_members
  178.     # 设置初期位置的地图
  179.     $game_map.setup($data_system.start_map_id)
  180.     # 主角向初期位置移动
  181.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  182.     # 刷新主角
  183.     $game_player.refresh
  184.     # 执行地图设置的 BGM 与 BGS 的自动切换
  185.     $game_map.autoplay
  186.     # 刷新地图 (执行并行事件)
  187.     $game_map.update
  188.     # 切换地图画面
  189.     $scene = Scene_Map.new
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # ● 命令 : 继续
  193.   #--------------------------------------------------------------------------
  194.   def command_continue
  195.     # 继续无效的情况下
  196.     unless @continue_enabled
  197.       # 演奏无效 SE
  198.       $game_system.se_play($data_system.buzzer_se)
  199.       return
  200.     end
  201.     # 演奏确定 SE
  202.     $game_system.se_play($data_system.decision_se)
  203.     # 切换到读档画面
  204.     $scene = Scene_Load.new
  205.   end
  206.   #--------------------------------------------------------------------------
  207.   # ● 命令 : 退出
  208.   #--------------------------------------------------------------------------
  209.   def command_shutdown
  210.     # 演奏确定 SE
  211.     $game_system.se_play($data_system.decision_se)
  212.     # BGM、BGS、ME 的淡入淡出
  213.     Audio.bgm_fade(800)
  214.     Audio.bgs_fade(800)
  215.     Audio.me_fade(800)
  216.     # 退出
  217.     $scene = nil
  218.   end
  219.   #--------------------------------------------------------------------------
  220.   # ● 战斗测试
  221.   #--------------------------------------------------------------------------
  222.   def battle_test
  223.     # 载入数据库 (战斗测试用)
  224.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  225.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  226.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  227.     $data_items         = load_data("Data/BT_Items.rxdata")
  228.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  229.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  230.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  231.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  232.     $data_states        = load_data("Data/BT_States.rxdata")
  233.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  234.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  235.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  236.     $data_system        = load_data("Data/BT_System.rxdata")
  237.     # 重置测量游戏时间用的画面计数器
  238.     Graphics.frame_count = 0
  239.     # 生成各种游戏对像
  240.     $game_temp          = Game_Temp.new
  241.     $game_system        = Game_System.new
  242.     $game_switches      = Game_Switches.new
  243.     $game_variables     = Game_Variables.new
  244.     $game_self_switches = Game_SelfSwitches.new
  245.     $game_screen        = Game_Screen.new
  246.     $game_actors        = Game_Actors.new
  247.     $game_party         = Game_Party.new
  248.     $game_troop         = Game_Troop.new
  249.     $game_map           = Game_Map.new
  250.     $game_player        = Game_Player.new
  251.     # 设置战斗测试用同伴
  252.     $game_party.setup_battle_test_members
  253.     # 设置队伍 ID、可以逃走标志、战斗背景
  254.     $game_temp.battle_troop_id = $data_system.test_troop_id
  255.     $game_temp.battle_can_escape = true
  256.     $game_map.battleback_name = $data_system.battleback_name
  257.     # 演奏战斗开始 BGM
  258.     $game_system.se_play($data_system.battle_start_se)
  259.     # 演奏战斗 BGM
  260.     $game_system.bgm_play($game_system.battle_bgm)
  261.     # 切换到战斗画面
  262.     $scene = Scene_Battle.new
  263.   end
  264. end
复制代码

评分

参与人数 1星屑 +90 收起 理由
myownroc + 90 应该不会有错了。。。

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2744
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

13
发表于 2013-9-21 22:26:21 手机端发表。 | 只看该作者
美丽晨露 发表于 2013-9-21 21:58 谢谢的说 不知道怎么回事 @people_array[j].bitmap = Bitmap.new(("Graphics/Titles/巫女" ...

这句话明显少了右括号啊。。。
现在才看到。。。

点评

恩恩,分类吧  发表于 2013-9-21 22:45
多了一个括号······  发表于 2013-9-21 22:28
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

12
 楼主| 发表于 2013-9-21 21:58:32 | 只看该作者
本帖最后由 美丽晨露 于 2013-9-21 22:19 编辑
恋′挂机 发表于 2013-9-21 20:54


谢谢的说
不知道怎么回事
@people_array[j].bitmap = Bitmap.new(("Graphics/Titles/巫女"<<(j+1).to_s)
下的end一直报错······
没法测试效果

点评

所以说问题解决了吧?  发表于 2013-9-21 22:32
差不多啦。。。  发表于 2013-9-21 22:31
是不是多了或少了end,发个报错的图啊  发表于 2013-9-21 22:14
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
11
发表于 2013-9-21 20:54:33 | 只看该作者
美丽晨露 发表于 2013-9-21 20:05
思路还是可行的,但是我还是有些蒙······
这是我之前写的脚本······表示是用when判定显示的 ...
  1. #在main里
  2. #随机人物图
  3. @rand_people = rand(2) + 1#现在@rand_people的值只可能是1或2
  4. #生成
  5. @people_array = []
  6. for j in 0...2
  7. @people_array[j] = Sprite.new#必须全部Sprite.new
  8. case @rand_people
  9. when 1
  10. #这里的<<和+其实是一样的意思
  11. @people_array[j].bitmap = Bitmap.new("Graphics/Titles/莉德露"<<(j+1).to_s)
  12. when 2
  13. @people_array[j].bitmap = Bitmap.new(("Graphics/Titles/巫女"<<(j+1).to_s)
  14. end
  15. #@people_array[j].x = 0
  16. #@people_array[j].y = 0
  17. #@people_array[j].opacity = 255
  18. end
  19. #在update里
  20. if Input.trigger?(Input::C)
  21.   case @command_index  
  22.   when 0
  23.    #先释放掉之前的图片否则就效果错误了,要么改透明度重新调图
  24.    #for i in 0...2
  25.    #@people_array[i].bitmap.dispose
  26.    #@people_array[i].dispose
  27.    #end
  28.    #不管怎么分歧,之前图是要影藏的,所以这个可以放在分歧外边
  29.    for i in 0...2
  30.    @people_array[i].opacity = 0
  31.    end
  32.    @people_new.Sprite.new
  33.    case @rand_people#必须带@,否则随机数传不过来(除$)
  34.    when 1
  35.    #方法1
  36.    #读取新的图片
  37.    #@people_array[0].bitmap= Bitmap.new("Graphics/Titles/莉德露3" )
  38.    #方法2
  39.    #因为只是一张图可以改之前图的透明度,重新调图
  40.    @people_new.bitmap = Bitmap.new("Graphics/Titles/莉德露3" )
  41.    when 2
  42.    #方法1
  43.    #读取新的图片
  44.    #@people_array[0].bitmap= Bitmap.new("Graphics/Titles/巫女3" )
  45.    #方法2
  46.    #因为只是一张图可以改之前图的透明度,重新调图
  47.    @people_new.bitmap= Bitmap.new("Graphics/Titles/巫女3" )
  48.    end
  49.    #@people_new.x = 0
  50.    #@people_new.y = 0
  51.    #@people_new.opacity = 255
  52.   for t in 0...5#等待。调整5改变等待时间
  53.    Graphics.update
  54.   end
  55.   command_new_game
  56.   when 1
  57.   command_continue
  58.   when 2
  59.   when 3
  60.   command_shutdown
  61.   end
  62. end
复制代码

评分

参与人数 1星屑 +60 收起 理由
美丽晨露 + 60 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

10
 楼主| 发表于 2013-9-21 20:05:17 | 只看该作者
恋′挂机 发表于 2013-9-21 19:44
在之前rand的时候用一个中间变量代替,
本来是
@xx.bitmap = Bitmap.new("#{rand(5) + 1}")

思路还是可行的,但是我还是有些蒙······
这是我之前写的脚本······
  1. # 随机人物
  2.     randpeople = rand(2)
  3.    #生成人物
  4.     @lidelu = Sprite.new
  5.     @lidelubmp = []
  6.     for j in 0...3
  7.       case randpeople
  8.       when 0
  9.       @lidelubmp[j] = Bitmap.new("Graphics/Titles/莉德露" + (j + 1).to_s)
  10.       when 1
  11.       @lidelubmp[j] = Bitmap.new("Graphics/Titles/巫女" + (j + 1).to_s)
  12.       end
  13.     end
复制代码
表示是用when判定显示的图片组······
是图片组不是单张图片。
然后在
  1. if Input.trigger?(Input::C)
  2.     case @command_index  
  3.       when 0
  4. case randpeople
  5.       when 0
  6.       @lidelubmp.bitmap= Bitmap.new("Graphics/Titles/莉德露3" )
  7.       when 1
  8.       @lidelubmp.bitmap = Bitmap.new("Graphics/Titles/巫女3" )
  9.       end
  10.     end
  11.        100.times{Graphics.update}
  12.         command_new_game
  13.       when 1
  14.         command_continue
  15.       when 2
  16.         
  17.       when 3
  18.         command_shutdown
  19.       end
  20.     end
复制代码
如上修改好像是行不通的啊,求一种可行的方法。

点评

稍等10分钟左右解决一下内务  发表于 2013-9-21 20:07
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
9
发表于 2013-9-21 19:44:37 | 只看该作者
在之前rand的时候用一个中间变量代替,
本来是
@xx.bitmap = Bitmap.new("#{rand(5) + 1}")
现在换成
@rand_num = rand(5) + 1
@xx.bitmap = Bitmap.new("#{@rand_num}")

这样就可以通过分歧@rand_num判断原来调用的是哪张图

再根据上边的思路应该就可以了。


在Input::C里边也是可以的

评分

参与人数 1星屑 +66 收起 理由
美丽晨露 + 66 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

8
 楼主| 发表于 2013-9-21 19:35:05 | 只看该作者
恋′挂机 发表于 2013-9-21 19:28
第三项没看懂,不知道是不是临时改图片?也就是本来调用的是A图片,现在临时换为B图片,如果是的话,就不 ...

的确是临时读取图片的说,但是读取的图片是根据之前的。
rand随机数读取的。脚本中:rand = 1时,显示的是莉德露名称组的图片
rand = 2时,显示的是巫女名称组的图片。
所以,当rand=1 时,临时读取莉德露组的图片3,加上等待效果。
当rand=2时,临时读取巫女组的图片3,加上等待效果。

而且这些我觉得应该可以在
if Input.trigger?(Input::C)
    case @command_index  
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        
      when 3
        command_shutdown
      end
    end
内完成,而我i就是没有思路······
所以,请继续求指导。
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
7
发表于 2013-9-21 19:28:00 | 只看该作者
美丽晨露 发表于 2013-9-21 17:53
嗯,感谢你的方法·······
能不能帮助我将第三项的效果在主楼的脚本中实现呢? ...

第三项没看懂,不知道是不是临时改图片?也就是本来调用的是A图片,现在临时换为B图片,如果是的话,就不能在main(主处理)中调用图片了(要放在update里,添加限制条件不会无限调用)。

在update里:
  1. #使用方法直接@update_picture = true或者改为$号下方也对应改,全局使用
  2. if @array == nil or @update_picture == true
  3. if @array != nil#如果数组已经存在或者说图片已经存在
  4. for i in 1..5
  5. @array[i].bitmap.dispose
  6. @array[i].dispose
  7. end
  8. @array = []#然后重新读图
  9. for i in 1..5
  10. @array[i] = Sprite.new
  11. #名字可以改变,也可以分歧辅助实变量可以读取到不只一张图片
  12. @array[i].bitmap = Bitmap.new("picture#{i}")
  13. end
  14. else
  15. @array = []
  16. for i in 1..5
  17. @array[i] = Sprite.new
  18. @array[i].bitmap = Bitmap.new("#{i}")
  19. end
  20. end
复制代码

点评

嗯最后少了一个end,反正思路就这样  发表于 2013-9-21 19:30
好像最后少了一个end  发表于 2013-9-21 19:28
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

6
 楼主| 发表于 2013-9-21 17:53:18 | 只看该作者
恋′挂机 发表于 2013-9-21 17:16
图的切换:
直接调用三张图,使用rand方式随机让一张图的opacity为255,其余为0

嗯,感谢你的方法·······
能不能帮助我将第三项的效果在主楼的脚本中实现呢?
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-22 03:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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