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

Project1

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

[已经解决] 升级图片跳出

[复制链接]

Lv1.梦旅人

梦石
0
星屑
79
在线时间
211 小时
注册时间
2010-8-21
帖子
442
跳转到指定楼层
1
发表于 2010-9-12 00:35:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RTAB_sixRice_016b.rar (961.19 KB, 下载次数: 92) 这个范例的升级图片跳出后消失很好看
我想让我的范例也能有这个效果,只限定于升级有这个特效  然后我下面那个也设置了我需要的的图片,只是升级的时候是固定的,所以想请人帮忙改下效果
Project1.rar (900.75 KB, 下载次数: 48)

点评

问题得到回到后请去认可帖认可[url]http://bbs.66rpg.com/thread-155199-1-1.html[/url]  发表于 2010-9-28 02:07

Lv3.寻梦者

宛若

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

极短24参与开拓者

2
发表于 2010-9-12 21:11:19 | 只看该作者
https://dl.dropbox.com/u/322483/Project4.rar
喵的这脚本真难整合……
那个Level up之所以能够有弹跳效果是因为它是用damage做的……所以需要用到RTAB的damage方法
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
79
在线时间
211 小时
注册时间
2010-8-21
帖子
442
3
 楼主| 发表于 2010-9-14 13:54:05 | 只看该作者
谢谢你帮忙整合了个脚本,效果不错,但是好像和其他脚本并用就有点怪怪的
Project4.rar (473.96 KB, 下载次数: 46)   你试试看让1P使出秒杀技能,要是没加那2个脚本,原本是用完怪死后再出现技能遗忘窗口的
现在变成了,技能窗口先弹出怪才死,所以还有我另一个脚本是升级提示的也是怪没死就先显示了,因为有一些问题还没来得及加进去给你看
所以想请你帮忙看下,怎么改
回复 支持 反对

使用道具 举报

Lv3.寻梦者

宛若

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

极短24参与开拓者

4
发表于 2010-9-15 22:52:31 | 只看该作者
  1. module RPG
  2.   class Sprite < ::Sprite
  3.     alias i initialize
  4.     def initialize(*arg)
  5.       i(*arg)
  6.       @_damage = []
  7.       @coll_time = 0
  8.     end
  9.     WIDTH = 18                  # 文字幅
  10.     HEIGHT = 20                 # クリティカルの文字・高さ
  11.     def dispose_damage
  12.       for damage in @_damage.reverse
  13.         damage[0].bitmap.dispose
  14.         damage[0].dispose
  15.         @_damage.delete(damage)
  16.       end
  17.     end
  18.     def collapse
  19.       @coll.dispose if @coll != nil
  20.       @coll = Sprite.new
  21.       @coll.bitmap = Bitmap.new("Graphics/Battlers/#{@battler_name}")
  22.       @coll.ox = self.ox
  23.       @coll.oy = self.oy
  24.       @coll.opacity = 100
  25.       @coll.z = 0
  26.       @coll.blend_type = 1
  27.       @coll.x = self.x
  28.       @coll.y = self.y
  29.       @coll_time = 42
  30.       @_whiten_duration = 0
  31.       @_appear_duration = 0
  32.       @_escape_duration = 0
  33.     end
  34.     alias u update
  35.     def update
  36.       u
  37.       
  38.       #if @_whiten_duration > 0
  39.       #  @_whiten_duration -= 1
  40.       #  self.color.alpha = 128 - (16 - @_whiten_duration) * 10
  41.       #end
  42.       #if @_appear_duration > 0
  43.       #  @_appear_duration -= 1
  44.       #  self.opacity = (16 - @_appear_duration) * 16
  45.       #end
  46.       #if @_escape_duration > 0
  47.       #  @_escape_duration -= 1
  48.       #  self.opacity = 256 - (32 - @_escape_duration) * 10
  49.       #end
  50.       #if @_collapse_duration > 0
  51.       #  @_collapse_duration -= 1
  52.       #  self.opacity = 256 - (48 - @_collapse_duration) * 6
  53.       #end
  54.       for damage in @_damage
  55.         if damage[1] > 0
  56.           damage[1] -= 1
  57.           damage[4] -= 3
  58.           damage[2] -= damage[4]
  59.           if self.battler.is_a?(Game_Actor)
  60.             damage[0].x = self.x + (40 - damage[1]) * damage[3] / 10
  61.             damage[0].y = self.y - self.oy / 2 + damage[2] / 10
  62.           else
  63.             damage[0].x = self.x + self.viewport.rect.x -
  64.                           self.ox + self.src_rect.width / 2 +
  65.                           (40 - damage[1]) * damage[3] / 10
  66.             damage[0].y = self.y - self.oy * self.zoom_y / 2 +
  67.                           self.viewport.rect.y + damage[2] / 10
  68.             damage[0].zoom_x = self.zoom_x
  69.             damage[0].zoom_y = self.zoom_y
  70.           end
  71.           damage[0].z = 2960 + damage[1]
  72.           damage[0].opacity = 256 - (12 - damage[1]) * 32
  73.           if damage[1] == 0
  74.             damage[0].bitmap.dispose
  75.             damage[0].dispose
  76.             @_damage.delete(damage)
  77.           end
  78.         end
  79.       end
  80.       if @_whiten_duration > 0
  81.         @_whiten_duration -= 1
  82.         self.color.alpha = 128 - (16 - @_whiten_duration) * 10
  83.       end
  84.       if @_appear_duration > 0
  85.         @_appear_duration -= 1
  86.         self.opacity = (16 - @_appear_duration) * 16
  87.       end
  88.       if @_escape_duration > 0
  89.         @_escape_duration -= 1
  90.         self.opacity = 256 - (32 - @_escape_duration) * 10
  91.       end
  92.       if @coll_time > 0
  93.         @coll_time -= 1
  94.         @coll.y = self.y - (48 - @coll_time) * 6
  95.         self.opacity = 256 - (48 - @coll_time) * 6
  96.         if @coll_time == 0
  97.           @coll.dispose
  98.         end
  99.       end
  100.       #for anime in @_animation
  101.       #  if (Graphics.frame_count % 2 == 0)
  102.       #    anime[2] -= 1
  103.       #    update_animation(anime)
  104.       #  end
  105.       #end
  106.       #if @_loop_animation != nil and (Graphics.frame_count % 2 == 0)
  107.       #  update_loop_animation
  108.       #  @_loop_animation_index += 1
  109.       #  @_loop_animation_index %= @_loop_animation.frame_max
  110.       #end
  111.       #if @_blink
  112.       ##  if @_blink_count < 16
  113.       #    alpha = (16 - @_blink_count) * 6
  114.       #  else
  115.       #    alpha = (@_blink_count - 16) * 6
  116.       #  end
  117.       #  self.color.set(255, 255, 255, alpha)
  118.       #end
  119.       #@@_animations.clear
  120.     end
  121.     def effect?
  122.       @_whiten_duration > 0 or
  123.       @_appear_duration > 0 or
  124.       @_escape_duration > 0 or
  125.       @_collapse_duration > 0 or
  126.       @_damage_duration > 0 or
  127.       @_animation_duration > 0 or
  128.       @coll_time > 0
  129.     end
  130.     def damage(value, critical, type = 0)
  131.       if value.is_a?(Numeric)
  132.         damage_string = value.abs.to_s
  133.       else
  134.         damage_string = value.to_s
  135.       end
  136.       if value.is_a?(Numeric) and value >= 0
  137.         if type == 0
  138.           if critical
  139.             d_bitmap = draw_damage(value, 1)
  140.           else
  141.             d_bitmap = draw_damage(value, 0)
  142.           end
  143.         else
  144.           d_bitmap = draw_damage(value, 2)
  145.         end
  146.       else
  147.         if type == 0
  148.           d_bitmap = draw_damage(value, 3)
  149.         else
  150.           d_bitmap = draw_damage(value, 4)
  151.         end
  152.       end
  153.       if type == 2
  154.         d_bitmap = draw_damage(value, 5)
  155.       end
  156.       num = @_damage.size
  157.       if type != 2
  158.         @_damage.push([::Sprite.new, 40, 0, rand(40) - 20, rand(30) + 50])
  159.       else
  160.         @_damage.push([::Sprite.new, 40, 0, rand(20) - 10, rand(20) + 60])
  161.       end
  162.       @_damage[num][0].bitmap = d_bitmap
  163.       @_damage[num][0].ox = d_bitmap.width / 2
  164.       @_damage[num][0].oy = d_bitmap.height / 2
  165.       if self.battler.is_a?(Game_Actor)
  166.         @_damage[num][0].x = self.x + self.viewport.ox
  167.         @_damage[num][0].y = self.y - self.oy / 2
  168.       else
  169.         @_damage[num][0].x = self.x + self.viewport.rect.x -
  170.                             self.ox + self.src_rect.width / 2
  171.         @_damage[num][0].y = self.y - self.oy * self.zoom_y / 2 +
  172.                             self.viewport.rect.y
  173.         @_damage[num][0].zoom_x = self.zoom_x
  174.         @_damage[num][0].zoom_y = self.zoom_y
  175.         @_damage[num][0].z = 3000
  176.       end
  177.     end
  178.     def draw_damage(value, element)
  179.       width = 0
  180.       if value.is_a?(Numeric)
  181.         value = value.abs
  182.         fig = value.to_s.size - 1
  183.         file = RPG::Cache.numeric("num")
  184.         d_width = WIDTH * fig + file.rect.width / 10
  185.         if element == 1
  186.           critical = RPG::Cache.numeric("critical")
  187.           d_width = [d_width, critical.rect.width].max
  188.           d_bitmap = Bitmap.new(d_width+36, HEIGHT + file.rect.height / 5)
  189.           d_x = 0#(width - critical.rect.width / 10) / 2
  190.           d_bitmap.blt(d_x+fig*(fig/1.6), 0, critical, critical.rect)
  191.           Audio.se_play("Audio/SE/"+"Clip10",100,100)
  192.     #  $game_screen.start_flash(Color.new(255,255,255),2)
  193.        $game_screen.start_shake(3,9,2)
  194.         else
  195.           d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 5)
  196.         end
  197.         d_x = ((d_width) - (WIDTH * fig + file.rect.width / 10)) / 2
  198.         while fig >= 0
  199.           d_bitmap.blt(d_x, HEIGHT, file, Rect.new((value / (10 ** fig)) *
  200.             file.rect.width / 10, element * file.rect.height / 5,
  201.             file.rect.width / 10, file.rect.height / 5))
  202.           d_x += WIDTH
  203.           value %= 10 ** fig
  204.           fig -= 1
  205.         end
  206.       else
  207.         case value
  208.         when "Miss"
  209.           file = RPG::Cache.numeric("miss")
  210.         when "Level up!"
  211.           file = RPG::Cache.numeric("levelup")
  212.         when "New Skill!"
  213.           file = RPG::Cache.numeric("newskill")
  214.         when "Learning!"
  215.           file = RPG::Cache.numeric("learning")
  216.         else
  217.           return Bitmap.new(1, 1)
  218.         end
  219.         d_bitmap = file
  220.       end
  221.       return d_bitmap
  222.     end
  223.   end
  224.   module Cache
  225.     def self.numeric(filename)
  226.       self.load_bitmap("Graphics/String/", filename)
  227.     end
  228.   end
  229. end
复制代码
用此脚本覆盖Damage重定义
然后删除死亡特效脚本

评分

参与人数 1星屑 +500 收起 理由
IamI + 500 抽风一下……

查看全部评分

[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2009-7-6
帖子
107
5
发表于 2010-9-16 18:15:47 | 只看该作者
LZ可以参看我之前做的一个东东~
http://rpg.blue/forum.php?mod=vi ... 47279&from=home

点评

呵呵~如果你要的话我可以帮你做哦  发表于 2010-9-16 23:05
您做的东西挺不错的,我用的就是你弹出的升级图片。不过数字图片太Q版了 我的游戏不适用  发表于 2010-9-16 19:19
我叫“竹笋
:①
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-30 03:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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