赞 | 1 |
VIP | 1 |
好人卡 | 2 |
积分 | 1 |
经验 | 36245 |
最后登录 | 2020-7-2 |
在线时间 | 465 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 465 小时
- 注册时间
- 2011-4-13
- 帖子
- 174
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
随意做的一个预览视频,但是总觉得效果不是太理想……
对于必杀技有什么建议的尽管提
这里奉上超级超级巨垃圾的源码……- module OD_FourPointsExplosion
- def self.update
- case $odm.step_timer
- when 0
- $game_player.animation_id = 249
- when 10
- # 第一步
- step1
- when 20
- # 主角弹出命令
- $game_player.pop_damage_text("四点爆破")
- when 50
- # 第二步
- step2
- when 60
- # 第三步
- step3
- when 65
- # 第四步
- step4
- when 70
- $game_map.events[$game_system.friend_event_id[0]].animation_id = 251
- when 75
- $game_map.events[$game_system.friend_event_id[1]].animation_id = 251
- when 80
- $game_map.events[$game_system.friend_event_id[2]].animation_id = 251
- when 85
- $game_player.animation_id = 251
- when 120
- $game_player.shoot(46)
- when 800
- $game_player.pop_damage_text("干得漂亮")
- $game_temp.overdriving = false
- for i in $game_system.friend_event_id
- $game_map.events[i].aimovement_stand_by = false
- end
- $odm.fpe = false
- $odm.step_timer = 0
- end
- end
- def self.step1
- # 对于所有队友
- for i in $game_system.friend_event_id
- # 打开AI移动的待机开关(取消BFSMOVE对移动的控制)
- $game_map.events[i].aimovement_stand_by = true
- # 队友播放动画
- $game_map.events[i].animation_id = 250
- for q in 0..5
- $game_map.events[i].move_random
- end
- $game_map.events[i].turn_toward_player
- end
- end
- def self.step2
- # 记录当前画面色调,准备必杀技特写
- @ori_tone = $game_screen.tone
- # 更改画面色调
- $game_screen.start_tone_change(Tone.new(-120,-120,-120), 5)
- end
- def self.step3
- # 创建特写精灵的查看端口
- @cuview = Viewport.new(0, 0, 640, 480)
- # 开始特写
- @s1 = Sprite_CloseUp.new(@cuview, $game_party.actors[0].name, 80)
- @s2 = Sprite_CloseUp.new(@cuview, $game_party.actors[1].name, 180)
- @s3 = Sprite_CloseUp.new(@cuview, $game_party.actors[2].name, 280)
- @s4 = Sprite_CloseUp.new(@cuview, $game_party.actors[3].name, 380)
- # 等待特写结束
- for i in 0..47
- @s1.update
- @s2.update
- @s3.update
- @s4.update
- Graphics.update
- end
- end
- def self.step4
- # 恢复原来的画面色调
- $game_screen.start_tone_change(Tone.new(0,0,0), 5)
- end
- end
- #==============================================================================
- # ■ OD_Manager
- #------------------------------------------------------------------------------
- # 监控必杀技发动条件的实时对象(实例为$odm)
- #==============================================================================
- class OD_Manager
- attr_accessor :fpe
- attr_accessor :step_timer
- def initialize
- @step_timer = 0
- @fpe = false
- end
- # 实时监控必杀技发动条件
- def update
- if $game_temp.overdriving
- @step_timer += 1
- end
- if Input.trigger?(Input::SHIFT)
- return if $game_temp.overdriving
- # 四点爆破使用中——临时标志
- @fpe = true
- # 必杀技使用中——临时标志
- $game_temp.overdriving = true
- end
- # 刷新——四点爆破
- OD_FourPointsExplosion.update if @fpe
- end
- end
- #==============================================================================
- # ■ Sprite_CloseUp
- #------------------------------------------------------------------------------
- # 为BFS创作——特写精灵
- # 使用方法:
- # 图像:角色名称 + "_OD" 存放在Pictures文件夹内
- # 调用:
- # Sprite_CloseUp.new(查看端口(请自行创建), 角色名称, Y坐标)
- #==============================================================================
- class Sprite_CloseUp < Sprite
- def initialize(viewport, actor_name, y = 0)
- super(viewport)
- @frame_count = 0
- @bg_image = RPG::Cache.picture(actor_name + "_OD")
- @bg_bitmap = Bitmap.new(@bg_image.width,@bg_image.height)
- @bg_sprite = Sprite.new
- @bg_sprite.bitmap = @bg_bitmap
- @bg_src_rect_back = Rect.new(0, 0,@bg_image.width, @bg_image.height)
- @bg_bitmap.blt(0,0, @bg_image, @bg_src_rect_back)
- @bg_sprite.z = 999
- @bg_sprite.x = 640
- @bg_sprite.y = y
- @bg_sprite.zoom_y = 0.1
- @bg_sprite.tone = Tone.new(255, 255, 255)
- end
- def update
- @frame_count += 1
- case @frame_count
- when 0..10
- @bg_sprite.x -= 64
- when 11..19
- @bg_sprite.zoom_y += 0.1
- @bg_sprite.tone.red -= 28
- @bg_sprite.tone.green -= 28
- @bg_sprite.tone.blue -= 28
- when 20
- @bg_sprite.tone = Tone.new(0, 0, 0)
- when 28
- @bg_sprite.flash(Color.new(255,255,255),11)
- when 29..37
- @bg_sprite.zoom_y -= 0.1
- when 38..46
- @bg_sprite.x -= 64
- when 47
- dispose
- end
- end
- def dispose
- @bg_sprite.bitmap.dispose
- @bg_sprite.bitmap = nil
- @bg_sprite.dispose
- @bg_sprite = nil
- @bg_bitmap.dispose
- @bg_bitmap = nil
- end
- end
复制代码 |
|