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

Project1

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

[已经解决] 求教Ace 如何实现实时射击

[复制链接]

Lv1.梦旅人

梦石
0
星屑
690
在线时间
0 小时
注册时间
2016-6-21
帖子
1
跳转到指定楼层
1
发表于 2016-6-22 00:19:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
Ace如何实现《Kio的人间冒险》这样的实时射击 直接在场景里就可以打 在一定距离内可以击中目标
论坛里找了好久都没找到Ace的,求大神指点一下。

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

2
发表于 2016-6-22 01:35:29 | 只看该作者
如果你想找个脚本扔到里面就能即插即用用的话,我劝你还是算了。

我想《Kio的人间冒险》也是作者自己实现的脚本。而这种东西,也只能说说怎么做,代码也很那难通用过去。
所以,你没能力去用代码实现的话,那就放弃好了。

评分

参与人数 1星屑 +110 收起 理由
丿梁丶小柒 + 110 我很赞同

查看全部评分

附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
130 小时
注册时间
2016-1-14
帖子
131
3
发表于 2016-6-25 11:10:44 | 只看该作者
远距离的地图打击我还没见过,但如果是1-2格内的地图攻击的话,我这里推荐你找个游戏参考一下。【【无人岛范例】ココナのサバイバル逃生日誌】
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
130 小时
注册时间
2016-1-14
帖子
131
4
发表于 2016-6-25 11:14:15 | 只看该作者
忽然想到,其实@喵呜喵5 的这个脚本稍微修改一下是不是也可以做出这个效果呢?


=begin
===============================================================================
  搓招 By喵呜喵5
===============================================================================

【说明】

  在地图上按照特定的顺序按键的话对应变量的值就会发生改变
  
  通过这个脚本搭配事件可以实现搓招的效果

=end
$m5script ||= {};$m5script[:M5IC20150130] = 20150130
module M5IC20150130
#==============================================================================
# 设定部分
#==============================================================================

  COMMAND = {

    [:LEFT,:RIGHT,:A] => 1,  
    [:DOWN,:DOWN,:A] => 2,
    [:DOWN,:UP,:A] => 3,   
    [:C,:C,:A] => 4,
    [:DOWN,:LEFT,:UP,:UP,:A] => 5,
    [:DOWN,:LEFT,:UP,:RIGHT,:A] => 6,   
    [:UP,:UP,:RIGHT,:LEFT,:A] => 7,

  # 搓招列表设置格式:
  # [ 按键列表(逗号隔开) ] => 数字 ,

  }  

  VAR = 1

  # 变量ID,成功搓招后对应ID的变量数值会变成搓招列表上设置的数字

  TIME = 45

  # 搓招速度,数字越小要求搓招速度越快

  SWI = 1

  # 开关ID,对应ID的开关打开后脚本失效

#==============================================================================
# 设定结束
#==============================================================================  
end
class Scene_Map
  alias m5_20150130_start start
  def start
    m5_20150130_start
    @m5ic20150130 = {
      :command => M5IC20150130::COMMAND,
      :list => M5IC20150130::COMMAND.keys,
      :input => M5IC20150130::COMMAND.keys,
      :index => -1,:time => 0,
    }
    max_size = 0
    @m5ic20150130[:list].each { |key| max_size = [max_size,key.size].max }
    @m5ic20150130[:size] = max_size
  end
  alias m5_20150130_update update
  def update
    m5_20150130_update
    return if $game_switches[M5IC20150130::SWI]
    update_20150130_input   
    if Graphics.frame_count - @m5ic20150130[:time] > M5IC20150130::TIME
      clear_20150130_input
    end
  end
  def clear_20150130_input   
    data = @m5ic20150130
    return if data[:time] == 0
    data[:time] = 0
    data[:index] = -1
    data[:input] = data[:list].clone
  end
  def update_20150130_input
    list = [:DOWN, :LEFT, :RIGHT, :UP, :A, :B, :C, :X, :Y, :Z, :L,
      :R, :SHIFT, :CTRL, :ALT]
    data = @m5ic20150130
    list.each do |key|
      if Input.trigger?(key)
        data[:time] = Graphics.frame_count
        data[:index] += 1
        data[:input].reject!{|c_list| c_list[data[:index]] != key }        
        if data[:input].size == 1 && data[:input][0].size == data[:index] + 1
          $game_variables[M5IC20150130::VAR] = data[:command][data[:input][0]]
          clear_20150130_input
          return
        elsif data[:input].size == 0
          clear_20150130_input
          return
        end
        return        
      end
    end
  end
end

评分

参与人数 1星屑 +110 收起 理由
丿梁丶小柒 + 110 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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