| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 0 | 
 
| 经验 | 0 | 
 
| 最后登录 | 2015-8-20 | 
 
| 在线时间 | 2 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 240 
 
        - 在线时间
 - 2 小时
 
        - 注册时间
 - 2014-2-10
 
        - 帖子
 - 1
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
第一次发帖好紧张呐呐,最近学习使用rpg maker xp 制作小游戏玩,需要互动式防御反击该怎么写脚本啊 
 
要求如下 
1、己方防御时,在早打对方攻击后有一定概率触发防御反击; 
2、防御反击(以下成为防反)分四段,第一段触发后,频幕上出现相应按键【暂定为上下左右吧】,在短时间正确按下,可反击,失败,则反击结束, 
     成功,则进入二段防反,出现跟多按键。。。。。。以此类推 
3、当完成四段防反后,秒杀被反击的boss 
 
 
有没有脚本大神帮帮忙啊,话说,贴吧上找到个相似的,但是并不知道则么该附上链接http://tieba.baidu.com/p/1242408992 
 
其内容大概如下 
time_count = 20 #设置等待时间为20帧(1秒) 
cmd = [Input::DOWN,Input::LEFT,Input::RIGHT,Input::UP][rand(4)] #从“上”、“下”、“左”、“右”键中随机选一个 
flag = false #是否按键了的标记 
while(true) 
Input.update #按键输入的刷新 
if Input.trigger?(cmd) #按下了正确的键 
@phase4_step = @a == 0 ? 1 : 2 #仍有敌人,可跳到行动执行部分(连击) 
flag = true #标记按下了正确的键 
break 
end 
Graphics.update #画面的刷新,使画面进行1帧的时间 
time_count -= 1 #等待计数减一 
break if time_count == 0 #20帧已过,跳出 
end 
@phase4_step = 1 if !flag #没有正确按键,流程正常执行  
 
然而这太不形象了,连需要按哪个键都看不到,需要制作一个什么东西来形象地说明,所以接下来我们制作一个用于显示方向键的窗口(Window) 
 
这里方向字符串利用了cmd变量的值,查F1可以知道 
Input::DOWN,Input::LEFT,Input::RIGHT,Input::UP 
的值分别为2,4,6,8,可以利用这个顺序便利地得到0~3——除以2减一即可(PIA… 
好了,现在按什么键可以连击已经能看见了,赶快试试吧。 
是不是有效果了?嗯,这样想要的功能已经有了,但是还有些BUG,敌人攻击时也会弹窗出来,并且防御啦、物品使用啦也会执行连击,所以需要加上一些限制条件,我这里将连击限制为只有普通攻击可以进行,代码如下: 
if @active_battler.is_a?(Game_Actor) #当前战斗者是我方队员 
if @active_battler.current_action.kind == 0 and @active_battler.current_action.basic != 1 #执行的是“攻击”行动 
conWindow = Window_Continuly.new 
time_count = 20 
cmd = [Input::DOWN,Input::LEFT,Input::RIGHT,Input::UP][rand(4)] 
texts = ["下","左","右","上"] 
text = texts[cmd/2-1] 
flag = false 
conWindow.set_text(text) 
while(true) 
Input.update 
if Input.trigger?(cmd) 
@phase4_step = @a == 0 ? 1 : 2 
flag = true 
break 
end 
Graphics.update 
time_count -= 1 
break if time_count == 0 
end  
conWindow.dispose 
@phase4_step = 1 if !flag 
else 
@phase4_step = 1 
end 
else  
@phase4_step = 1 
end |   
 
 
 
 |