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

Project1

 找回密码
 注册会员
搜索

更改菜单和存档的行走图为头像?

查看数: 1616 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2009-7-18 14:55

正文摘要:

我想把菜单和存档界面的行走图改为显示指定图片应该怎么改? 另外,由于用事件做了一个很简单的选择人物的系统。因此还有必要加上分歧: if 变量12 == 0 图片显示为 "Graphics\Pictures\000.png" end if 变量12 ...

回复

416152680 发表于 2009-7-21 19:50:17
提示: 作者被禁止或删除 内容自动屏蔽
kakarot 发表于 2009-7-18 21:49:27
本帖最后由 kakarot 于 2009-7-18 21:56 编辑

不是在scene_save里面修改,在Window_SaveFile里改比较好~
参考咱5楼写的那一段应该就可以了..scene_save保持原样就好~
奶油Da蛋糕 发表于 2009-7-18 20:42:36
本帖最后由 奶油Da蛋糕 于 2009-7-18 20:46 编辑

菜单好了,可是存档没变。
  def write_save_data(file)
      actor = $game_party.actors
  case actor.id
  when 1
     if $game_variables[14] == 0
bitmap = RPG::Cache.picture("逍遥侠01.png")
end
     if $game_variables[14] == 1
bitmap = RPG::Cache.picture("凌波燕01.png")
end
else
bitmap = RPG::Cache.picture("逍遥侠01.png")
end
    def draw_actor_graphic(actor, x, y)
      end

这段哪里写错了吗?
kakarot 发表于 2009-7-18 19:19:44
本帖最后由 kakarot 于 2009-7-18 19:22 编辑

这样MS只是定义了一个描绘头像的函数而并没有调用所以会没效果~咱的思路附上:

首先在Window_Base的最后加上描绘头像的函数定义:

  1. #--------------------------------------------------------------------------
  2.   # ● 描绘头像
  3.   #--------------------------------------------------------------------------

  4. def draw_actor_face(actor, x, y)
  5.   bitmap = RPG::Cache.picture("00"+actor.id.to_s)
  6.   cw = bitmap.width
  7.   ch = bitmap.height
  8.   src_rect = Rect.new(0, 0, cw, ch)
  9.   self.contents.blt(x, y, bitmap, src_rect)
  10. end
复制代码
头像的图片放在pictures文件夹下,名称为“00”加上角色的id号(参见数据库里的设置,角色名字前的号码是多少id就是多少~例如:001:阿尔西斯,角色编号就是1)~

然后在菜单和存档界面分别调用这个函数:

首先是菜单,在Window_Menustatus里“刷新”部分找到这一行:

draw_actor_graphic(actor, x - 40, y + 80)

去掉,在这里插入(调用)刚才定义的头像函数:

draw_actor_face(actor, x - 40,y + 80)

这里的x-40和y+80请根据需要自行调整~

然后是存档部分的头像,在Window_SaveFile里找到这一段:

  1.       bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
  2.        cw = bitmap.rect.width / 4
  3.         ch = bitmap.rect.height / 4
  4.         src_rect = Rect.new(0, 0, cw, ch)
  5.         x = 300 - @characters.size * 32 + i * 64 - cw / 2
  6.         self.contents.blt(x, 68 - ch, bitmap, src_rect)
复制代码
去掉,在这里调用头像描绘函数:
  1.    
  2.     actor = $game_party.actors[i]
  3.       x = i*64
  4.       y = 0
  5.       draw_actor_face(actor, x+5,y)
复制代码
这里前面几行是给函数的自变量赋初值,同样x,y以及后面的x+5和y请根据需要自行调整~
这样一来就实现替换了~至于LZ说的和变量相关的选择人物的小功能,咱这个头像函数是直接和角色id相关的所以猜想应该不会有影响(也就是不需要用那个变量来控制吧..)总之LZ请先试试吧~在下脚本小白,可能上面的内容会有所疏漏,如果还有什么问题请继续留言~

以上~
奶油Da蛋糕 发表于 2009-7-18 17:44:45
class Windows_base

def draw_actor_face
  case actor_id
  when 1
  if $game_variables[14] == 0
    bitmap= "Graphics\Pictures\泪无痕.png"
    end
  if $game_variables[14] == 1
    bitmap= "Graphics\Pictures\云无心.png"
    end
  if $game_variables[14] == 2
    bitmap= "Graphics\Pictures\凌波燕.png"
    end
  if $game_variables[14] == 3
    bitmap= "Graphics\Pictures\千幻碟.png"
  end
    when 2
    bitmap= "Graphics\Pictures\淡清秋.png"
  end
end
end

我改成了这样,能用了,但是用进去还是没效果,还是显示行走图,怎么回事。
奶油Da蛋糕 发表于 2009-7-18 17:18:54
class Windows_base

def draw_actor_face
  if $game_variables[14] == 0
    bitmap= "Graphics\Pictures\泪无痕.png"
    end
  if $game_variables[14] == 1
    bitmap= "Graphics\Pictures\云无心.png"
    end
  if $game_variables[14] == 2
    bitmap= "Graphics\Pictures\凌波燕.png"
    end
  if $game_variables[14] == 3
    bitmap= "Graphics\Pictures\千幻碟.png"
  end
end
end

我这样写了一遍,怎么没生效?
在MAIN前插入。
白斑病赌东道 发表于 2009-7-18 15:45:03
windows_base

def draw_actor_face
  case actor_id
  when 1
    bitmap= ""
  when 2
    .....

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

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

GMT+8, 2025-1-11 20:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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