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

Project1

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

[已经解决] 求一款能支持梦幻单机版召唤兽系统的血条

 关闭 [复制链接]

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
跳转到指定楼层
1
发表于 2009-7-15 13:53:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1星屑
悬赏1点VIP,求一个战斗血条脚本(能支持梦幻召唤兽系统的)。
#--------------------------------------------------------------------------
  # ● 取得战斗画面的 X 坐标
  #--------------------------------------------------------------------------
  def screen_x  #数字越大越靠后
   
   if self.id < 20  # 人物坐标
     case self.ac_id
when 0
   return 350
when 1
   return 430
when 2
   return 510
when 3
   return 580
     end
    else
     case $game_actors[self.zhuren].ac_id   #宠物坐标
     when 0
      return 250  #460
     when 1
      return 340
     when 2
      return 430
     when 3
      return 510
     end
   end  
  
  end
上面的是战斗中角色和宠物坐标的控制case $game_actors[self.zhuren].ac_id定义的就是宠物的坐标,宠物的坐标是根据主人来的,而不是自己的,比如21号宠物,给1号角色带,站的位置就是1号角色前面,给2号角色带,就站在2号角色前面,所以不能直接定义。
但是,case $game_actors[self.zhuren].ac_id这条语言貌似用来定位血条又不太通顺。
本来自己试着写过。
召唤兽的坐标不会控制。
我本来想写:
when 21
X好多
Y好多
但是后来一想,如果21号召唤兽给1号角色参战,和21号召唤兽给2号角色参战,这个时候的坐标是不同的呀。
不能直接这么写。
但是我对脚本又不太了解。
对召唤兽系统也不太了解。
梦幻的召唤兽系统貌似是给了每个角色的宠物一个代号还是怎么着?是什么.zhuren什么的?
不知道了,这个太难了。
我做回伸手党吧,谁写好给我参考。

血条.rar (1.3 MB, 下载次数: 185)
这是我整理的一个简单的工程,大家帮忙调试一下。
如果谁能弄个比较好点的血条给我。
万分感谢。




另外,工程里还有一个小BUG,有空可以帮忙修复一下。(SCECE_MAP里面加了一条按下Q键弹出任务栏,按下W键弹出属性栏,我试了一下,可能是全键盘脚本的BUG还是啥,需要按着不放很久才会弹出。我设置的是按一下,可以说是平几率的,有时候按一下就出,有时候按几十下才出。另外,如果直接把这两行脚本并行在地图上,则一切正常,按一下就出。但是我想了想,并行在地图上占内存,并且那么多地图,每个地图都并行太麻烦了。所以没采取。)

最佳答案

查看完整内容

就根据screen_x和screen_y就行了 不需要再做什么判断 这2个方法里已经判断好了 颜色 长 宽 自己改 x,y 坐标在 def draw_actor_hp_bar def draw_actor_sp_bar 这2个方法里调整 我那样的算法是左对齐 可以改改成根据bitmap的width的值来居中 地图按键什么的 在那个 【地图名】脚本里的最后有这样的一段 #-------------------------------------------------------------------------- # ● 刷新画面 #--------- ...

Lv4.逐梦者

梦石
0
星屑
6545
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
发表于 2009-7-15 13:53:34 | 只看该作者
就根据screen_x和screen_y就行了
不需要再做什么判断 这2个方法里已经判断好了
血条.rar (1.3 MB, 下载次数: 149)
颜色 长 宽 自己改
x,y 坐标在 def draw_actor_hp_bar
                def draw_actor_sp_bar
这2个方法里调整
我那样的算法是左对齐
可以改改成根据bitmap的width的值来居中

地图按键什么的
在那个 【地图名】脚本里的最后有这样的一段
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias xy_66rpg_update update
def update
   xy_66rpg_update
   if $game_switches[XY_SWITCH]
     @xy_window.visible = true     
     @xy_window.refresh if @xy_window.judge
   else
     @xy_window.visible = false
   end
end
end
在这一行下面添加条件分歧就行了
   xy_66rpg_update
…………











你知道得太多了

回复

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
3
 楼主| 发表于 2009-7-15 14:27:13 | 只看该作者
有空的下载看看吧,不难的,而且工程很小的哟。

(对不起,版主,我连帖了...)

回复

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
4
 楼主| 发表于 2009-7-15 17:24:14 | 只看该作者
就根据screen_x和screen_y就行了
不需要再做什么判断 这2个方法里已经判断好了
1790
颜色 长 宽 自己改
x,y 坐标在 def draw_actor_hp_bar
                def draw_actor_sp_bar
这2个方法里调整
我那样的算法是左 ...
后知后觉 发表于 2009-7-15 17:21

先谢谢啦,这就去试。
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6545
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

5
发表于 2009-7-15 17:28:37 | 只看该作者
忘记了说 修改过的部位

Scene_Battle 1 的def main方法
Window_BattleStatus 的 def initialize,def refresh,def update
新建了个窗口 Window_HPSP











你知道得太多了

回复

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
6
 楼主| 发表于 2009-7-15 18:04:01 | 只看该作者
忘记了说 修改过的部位

Scene_Battle 1 的def main方法
Window_BattleStatus 的 def initialize,def refresh,def update
新建了个窗口 Window_HPSP
后知后觉 发表于 2009-7-15 17:28

嗯,谢谢了,血条经过测试可以使用!

但是对于全键盘的问题还是没有得以解决。
如果并行这段脚本
    # 按下 Q 键的情况下
if       Kboard.keyboard($R_Key_Q)
             #启动任务栏
    $scene = Scene_Task.new
  end
  # 按下 W 键的情况下
       if Kboard.keyboard($R_Key_W)
             #启动属性栏
    $scene = Scene_atb.new
    end
在地图上并行一个事件的话,很正常,按一下Q可以启动任务栏,按一下W可以启动属性栏。
但是如果写在脚本里,或者用一个公共事件并行的话,要按几下或按几十下才可以启动,貌似是凭几率的。
我把他放在地图名里面了,可以使用,但是仍然要按好多下才可以启动。通常要按几十下才可以启动呢。


虽然第二个问题没有得以解决,还是万分感谢您!
这个血条可是我弄了好久的问题呢!
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6545
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

7
发表于 2009-7-15 18:14:30 | 只看该作者
本帖最后由 后知后觉 于 2009-7-15 18:18 编辑

#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias xy_66rpg_update update
def update
   xy_66rpg_update
   if Kboard.keyb($R_Key_Q) == 1
     $scene = Scene_Task.new
     return
   end
   if Kboard.keyb($R_Key_W) == 1
     $scene = Scene_atb.new
     return
   end
   
     
   if $game_switches[XY_SWITCH]
     @xy_window.visible = true     
     @xy_window.refresh if @xy_window.judge
   else
     @xy_window.visible = false
   end
end











你知道得太多了

回复

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
8
 楼主| 发表于 2009-7-15 18:18:39 | 只看该作者
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias xy_66rpg_update update
d ...
后知后觉 发表于 2009-7-15 18:14


照改之后,它竟然提示最后一行#======发生了SyntaxError...
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6545
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

9
发表于 2009-7-15 18:21:16 | 只看该作者
本帖最后由 后知后觉 于 2009-7-15 18:24 编辑

连贴编辑











你知道得太多了

回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6545
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

10
发表于 2009-7-15 18:21:24 | 只看该作者
本帖最后由 后知后觉 于 2009-7-15 18:22 编辑

你自己重新打一遍 不要复制

我就拿的你那工程试过了才发的











你知道得太多了

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 07:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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