幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1520|回复: 5

[原创]职业变动(思路和范例)

[复制链接]

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2006-5-22 03:32:51 | 显示全部楼层 |阅读模式
很多游戏的职业是根据等级变动的,比如10级以前是小白,10--20级是新人,等等.
  今天,我就是说这个.

请定位到Game_Actor
在最后一段添加
def vir_class1
  vir_class=$game_actors[1].level
  if vir_class < 11
    return "小白"
    else
      return "new guy"
   end
end


#角色2的职业变更
def vir_class2
  vir_class=$game_actors[2].level
  if vir_class < 11
    return "蓝猫"
    else
      return "蓝猫神"
   end
end

def vir_class3
  vir_class=$game_actors[3].level
  if vir_class < 11
    return "66"
    else
      return "512"
   end
    end
以上的作用是为window_base调用的.如果角色4也有职业变动,就定义角色4

好,3个定义完后,就看window_base
找到"职业的描绘",把下面的定义注销掉
添加

def draw_actor_class1(actor, x, y)
    self.contents.font.color = normal_color
   self.contents.draw_text(x, y, 236, 32, actor.vir_class1.to_s)
end
def draw_actor_class2(actor, x, y)
    self.contents.font.color = normal_color
   self.contents.draw_text(x, y, 236, 32, actor.vir_class2.to_s)
end
def draw_actor_class3(actor, x, y)
    self.contents.font.color = normal_color
   self.contents.draw_text(x, y, 236, 32, actor.vir_class3.to_s)
end
因为我们要定义3个角色

最后看Window_MenuStatus
在刷新中添加
    actor1= $game_party.actors[1]
      actor2= $game_party.actors[2]
      actor3= $game_party.actors[3]
#(以上是赋值)
#和
    draw_actor_class1(actor1, 64 + 144, 0)
      draw_actor_class2(actor2, 64 + 144, 116)
      draw_actor_class3(actor3, 64 + 144, 2*116)
这样,角色的职业变动就解决了


总结:职业变动大体上就是这样,只是变动的条件或名称不同.这个就在Game_Actor中刚才定义的vir_class中修改;有几个人,就定义几个

对应的window_base中和Window_MenuStatus中的东西也注意修改

以下是范例
http://pickup.mofile.com/5445428977926147
请有关人员转到论坛上来

本帖子中包含更多资源

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

x
最近,迷上八云紫大婶了
回复

使用道具 举报

79

主题

617

帖子

6150

积分

⑦老手

暗夜下可怜人

积分
6150
发表于 2006-5-22 08:29:46 | 显示全部楼层
那些零散的东西可以合在一起,再多的职业名,最多需要二分之一的量就够了……
精简一下吧
希望破灭是因为发现真实,宁可背负罪孽也要维护爱我之人,永远的娜乌西卡!!!!!!
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
 楼主| 发表于 2006-5-22 09:07:40 | 显示全部楼层
引用第1楼美兽2006-05-22 08:29发表的“”:
那些零散的东西可以合在一起,再多的职业名,最多需要二分之一的量就够了……
精简一下吧

是可以合在一起.是用数组处理吗?
但后面的2分之1量是什么意思?望指教.
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

79

主题

617

帖子

6150

积分

⑦老手

暗夜下可怜人

积分
6150
发表于 2006-5-22 09:52:44 | 显示全部楼层
引用第2楼dcf2006-05-22 09:07发表的“”:


是可以合在一起.是用数组处理吗?
但后面的2分之1量是什么意思?望指教.

是数组,
二分之一的代码量……
希望破灭是因为发现真实,宁可背负罪孽也要维护爱我之人,永远的娜乌西卡!!!!!!
回复 支持 反对

使用道具 举报

91

主题

3188

帖子

83986万

积分

荣誉群

传说中的Bunny大神~!

积分
839861514
QQ
发表于 2006-5-22 10:19:01 | 显示全部楼层
Orz一下转职后的名称。。。 [s:5]
其他所有的Bunny神都素我的部下XD~ 小教程范例收集 Orz感谢邪恶萝卜联盟!!!(原因自己去猜)
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
 楼主| 发表于 2006-5-22 13:23:40 | 显示全部楼层
引用第4楼盗帅冬瓜2006-05-22 10:19发表的“”:
Orz一下转职后的名称。。。 [s:5]

有什么问题吗?
稍微修改了一下,但对数组不熟悉

接1楼的修改
在window_base后添加
def  vir_class
   vir_class=[vir_class1,vir_class2,vir_class3]
   end

然后把Window_Base中,职业的描绘部分修成
def draw_actor_class(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 236, 32, actor.vir_class.to_s)

但最后一个只能用vir_class[1]来表示了
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-27 14:30 , Processed in 0.011229 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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