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

Project1

 找回密码
 注册会员
搜索
查看: 3830|回复: 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
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
2
发表于 2010-7-4 16:18:12 | 只看该作者
lz你这个红色的地方默认脚本是没有@viewport5的

猜测你需要改下这个的z值,你试试看
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1055 小时
注册时间
2010-6-17
帖子
85
3
 楼主| 发表于 2010-7-4 16:24:50 | 只看该作者
改哪里的?z轴我一直搞不清
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
4
发表于 2010-7-4 16:28:37 | 只看该作者
z轴越大的越靠近玩家,也就是说会遮住z轴小的
你加上一句@viewport5.z = xxx

不明白你还用了什么脚本,搜索这一页,只有两个@viewport5,根本看不出替代了@viewport1做什么用的(默认脚本里的战斗背景是在@viewport1里生成的)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1055 小时
注册时间
2010-6-17
帖子
85
5
 楼主| 发表于 2010-7-4 16:33:42 | 只看该作者

我把那里改回成@battleback_sprite = Sprite.new(@viewport1)
结果变成先这样子了- -
上面多了一块黑的
回复 支持 反对

使用道具 举报

Lv3.寻梦者

宛若

梦石
0
星屑
1568
在线时间
526 小时
注册时间
2007-8-19
帖子
1493

极短24参与开拓者

6
发表于 2010-7-4 16:41:45 | 只看该作者
话说为啥咱看不到红色……咱是色盲么……

点评

好像脚本模式里,不被识别- -  发表于 2010-7-4 16:49
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

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
10
 楼主| 发表于 2010-7-4 17:15:43 | 只看该作者
还是不行啊,我都调成天文数字了,还是在人物下面
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-25 15:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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