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

Project1

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

[已经解决] 攻击时指向敌人的箭头不见了

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1055 小时
注册时间
2010-6-17
帖子
85
跳转到指定楼层
1
发表于 2010-7-4 16:09:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 「旅」 于 2010-7-4 16:23 编辑
  1. class Spriteset_Battle
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化变量
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     @viewport1 = Viewport.new(0, 60, 640, 480)
  7.     @viewport2 = Viewport.new(0, 0, 640, 480)
  8.     @viewport3 = Viewport.new(0, 0, 640, 480)
  9.     @viewport4 = Viewport.new(0, 0, 640, 480)
  10.     @viewport2.z = 101
  11.     @viewport3.z = 200
  12.     @viewport4.z = 5000
  13.     # 生成战斗背景活动块
  14.    [color=red] @viewport5 = Viewport.new(0,0,640,480)
  15.     @battleback_sprite = Sprite.new(@viewport5[/color])
  16.     # 生成敌人活动块
  17.     @enemy_sprites = []
  18.     for enemy in $game_troop.enemies.reverse
  19.    # @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  20.       @enemy_sprites.push(Sprite_Battler.new(@viewport4, enemy))#敌人的显示高度
  21.     end
  22.     # 生成敌人活动块
  23.     @actor_sprites = []
  24.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  25.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  26.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  27.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  28.     # 生成天候
  29.     @weather = RPG::Weather.new(@viewport1)
  30.     # 生成图片活动块
  31.     @picture_sprites = []
  32.     for i in 51..100
  33.       @picture_sprites.push(Sprite_Picture.new(@viewport3,
  34.         $game_screen.pictures[i]))
  35.     end
  36.     # 生成计时器块
  37.     @timer_sprite = Sprite_Timer.new
  38.     # 刷新画面
  39.     update
  40.   end
  41.   #..........................................................................
  42.   #--------------------------------------------------------------------------
  43.   # ● 胜利图
  44.   #--------------------------------------------------------------------------
  45.   def win
  46.     for sprite in @actor_sprites
  47.       sprite.win
  48.     end
  49.   end
  50.   #..........................................................................
  51.   #--------------------------------------------------------------------------
  52.   # ● 刷新画面
  53.   #--------------------------------------------------------------------------
  54.   def update
  55.     # 刷新角色的活动块 (对应角色的替换)
  56.     @actor_sprites[0].battler = $game_party.actors[0]
  57.     @actor_sprites[1].battler = $game_party.actors[1]
  58.     @actor_sprites[2].battler = $game_party.actors[2]
  59.     @actor_sprites[3].battler = $game_party.actors[3]
  60.     # 战斗背景的文件名与现在情况有差异的情况下
  61.     if @battleback_name != $game_temp.battleback_name
  62.       @battleback_name = $game_temp.battleback_name
  63.       if @battleback_sprite.bitmap != nil
  64.         @battleback_sprite.bitmap.dispose
  65.       end
  66.       @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  67.       @battleback_sprite.src_rect.set(0, 0, 640, 480)
  68.     end
  69.     # 刷新战斗者的活动块
  70.     for sprite in @enemy_sprites + @actor_sprites
  71.       sprite.update
  72.     end
  73.     # 刷新天气图形
  74.     @weather.type = $game_screen.weather_type
  75.     @weather.max = $game_screen.weather_max
  76.     @weather.update
  77.     # 刷新图片活动块
  78.     for sprite in @picture_sprites
  79.       sprite.update
  80.     end
  81.     # 刷新计时器活动块
  82.     @timer_sprite.update
  83.     # 设置画面的色调与震动位置
  84.     @viewport1.tone = $game_screen.tone
  85.     @viewport1.ox = $game_screen.shake
  86.     # 设置画面的闪烁色
  87.     @viewport4.color = $game_screen.flash_color
  88.     # 刷新显示端口
  89.     @viewport1.update
  90.     @viewport2.update
  91.     @viewport4.update
  92.   end
  93. end
  94. #--------------------------------------------------------------------------
  95.   # ● 获取光标指向的敌人
  96.   #--------------------------------------------------------------------------
  97.   def enemy
  98.     return $game_troop.enemies[@index]
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 刷新画面
  102.   #--------------------------------------------------------------------------
  103.   def update
  104.     super
  105.     # 如果指向不存在的敌人就离开
  106.     $game_troop.enemies.size.times do
  107.       break if self.enemy.exist?
  108.       @index += 1
  109.       @index %= $game_troop.enemies.size
  110.     end
  111.     # 光标右
  112.     if Input.repeat?(Input::RIGHT)
  113.       $game_system.se_play($data_system.cursor_se)
  114.       $game_troop.enemies.size.times do
  115.         @index += 1
  116.         @index %= $game_troop.enemies.size
  117.         break if self.enemy.exist?
  118.       end
  119.     end
  120.     # 光标左
  121.     if Input.repeat?(Input::LEFT)
  122.       $game_system.se_play($data_system.cursor_se)
  123.       $game_troop.enemies.size.times do
  124.         @index += $game_troop.enemies.size - 1
  125.         @index %= $game_troop.enemies.size
  126.         break if self.enemy.exist?
  127.       end
  128.     end
  129.     # 设置活动块坐标
  130.     if self.enemy != nil
  131.       self.x = self.enemy.screen_x + self.ox
  132.       self.y = self.enemy.screen_y + self.oy
  133.     end
  134.   end

  135. class Arrow_Actor < Arrow_Base
  136.   #--------------------------------------------------------------------------
  137.   # ● 获取光标指向的角色
  138.   #--------------------------------------------------------------------------
  139.   def actor
  140.     return $game_party.actors[@index]
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 刷新画面
  144.   #--------------------------------------------------------------------------
  145.   def update
  146.     super
  147.     # 光标右
  148.     if Input.repeat?(Input::RIGHT)
  149.       $game_system.se_play($data_system.cursor_se)
  150.       @index += 1
  151.       @index %= $game_party.actors.size
  152.     end
  153.     # 光标左
  154.     if Input.repeat?(Input::LEFT)
  155.       $game_system.se_play($data_system.cursor_se)
  156.       @index += $game_party.actors.size - 1
  157.       @index %= $game_party.actors.size
  158.     end
  159.     # 设置活动块坐标
  160.     if self.actor != nil
  161.       self.x = self.actor.screen_x + self.ox
  162.       self.y = self.actor.screen_y + self.oy
  163.     end
  164.   end
  165. end
复制代码
改了红色的那里,使战斗背景全面化了
但是改好后指针不见了,再改回来又有了,
- -
怎么解决?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
15
发表于 2010-7-4 21:26:03 | 只看该作者
Scene_Battle里搜这句
  1. @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
复制代码
改为
  1. new_veiwport = Viewport.new(0, 0, 640, 480)
  2. new_veiwport.z = 99999
  3. @enemy_arrow = Arrow_Enemy.new(new_veiwport)
复制代码
角色光标同理。

点评

貌似只有在同一视口下才能确定Z值关系,所以你新建了一个z值最大的视口么……  发表于 2010-7-4 23:22

评分

参与人数 1星屑 +300 收起 理由
「旅」 + 300 认可答案

查看全部评分

好歹当年也当过大魔王过,orz
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1055 小时
注册时间
2010-6-17
帖子
85
14
 楼主| 发表于 2010-7-4 18:16:43 | 只看该作者
好吧,的确有点复杂,我还是老实点放弃全动画吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
13
发表于 2010-7-4 18:09:02 | 只看该作者
回复 clannad 的帖子

这个。。。用了这么多的脚本。。。在下无能啊,战斗系统看不懂,没有敌人嘛这是


   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1055 小时
注册时间
2010-6-17
帖子
85
12
 楼主| 发表于 2010-7-4 17:50:04 | 只看该作者
彩.rar (3.68 MB, 下载次数: 94)
问题还蛮多的,先把这个解决吧,谢谢了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
11
发表于 2010-7-4 17:18:50 | 只看该作者
回复 clannad 的帖子
这个z值是相对的,你调这个viewport1的是背景- -

要不你把整个工程的脚本发上来我试试看吧,script.rxxxxx那个文件


   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1055 小时
注册时间
2010-6-17
帖子
85
10
 楼主| 发表于 2010-7-4 17:15:43 | 只看该作者
还是不行啊,我都调成天文数字了,还是在人物下面
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
9
发表于 2010-7-4 17:10:01 | 只看该作者
oh,我没研究过这个脚本,大概就是z的关系啦,你调整下这个z值试试
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1055 小时
注册时间
2010-6-17
帖子
85
8
 楼主| 发表于 2010-7-4 16:51:05 | 只看该作者
话说改好了,但是箭头还是在敌人的身后,(忘记说了,我用的是全动画脚本)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
7
发表于 2010-7-4 16:48:44 | 只看该作者
@viewport1 = Viewport.new(0, 60, 640, 480)
这句的60改成0,默认的就是0
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 15:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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