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

Project1

 找回密码
 注册会员
搜索
楼主: 冰鸷殛霰
打印 上一主题 下一主题

怎么永久消除事件而不是暂时消除事件

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-4-26
帖子
444
11
 楼主| 发表于 2007-8-18 04:37:05 | 只看该作者
以下引用永劫的咎人于2007-8-17 20:31:49的发言:

似乎每张图上的事件在载入地图的时候就已经设定好了,要说暂时消除,好像要用到运行中设定数据库……但是ms运行中设定数据库生效要重启动rm.....
lz100个子弹的想法是不错,但是rm这样描绘是肯定要卡的。
北欧女神2的弓箭手的决之技+敌人的各个块,总共瞬间变幻的图不下百张,电脑的处理能力已经不行了,所以只有在ps2平台上面开发。
再加上本来rm的技能就有所极限,要说瞬间处理漫天的弹幕,虽然不能说不可以防卡,但是以我个人估计是要用到api之类的东西了。(那个防卡脚本的功能也很局限,而且有死机可能。)
尽管理解lz着急的心情,而且我对于pm的问题都会很认真地对待,但是我能力不够,实在无能为力。
对不起。


[本贴由作者于 2007-8-17 20:33:01 最后编辑]

又被理解错了...
这样给你说吧

夜想曲里的箭
那什么先传里的子弹
都是N个N个的.
打中后删除而消失是不会卡的.
而我用100个事件做实验.
都用暂时消除是会卡的
群:13283861
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-29
帖子
453
12
发表于 2007-8-18 04:40:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-4-26
帖子
444
13
 楼主| 发表于 2007-8-18 04:45:45 | 只看该作者
以下引用索尔迦·蓝于2007-8-17 20:40:55的发言:


以下引用冰鸷殛霰于2007-8-17 20:37:05的发言:
又被理解错了...
这样给你说吧

夜想曲里的箭
那什么先传里的子弹
都是N个N个的.
打中后删除而消失是不会卡的.
而我用100个事件做实验.
都用暂时消除是会卡的


很简单,因为它不是用事件做的……

啊?
那是????
图片???????????
群:13283861
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-29
帖子
453
14
发表于 2007-8-18 05:11:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-4-26
帖子
444
15
 楼主| 发表于 2007-8-18 05:34:25 | 只看该作者
以下引用索尔迦·蓝于2007-8-17 21:11:35的发言:


以下引用冰鸷殛霰于2007-8-17 20:45:45的发言:


啊?
那是????
图片???????????


# ■ ARPG_Bullet
#------------------------------------------------------------------------------
#  处理ARPG中的远程攻击。

现生成的而已……

晕啊!
我是用的仓库提取的事件......不一样么?
群:13283861
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
16
发表于 2007-8-18 05:35:19 | 只看该作者
其实也不是不能删事件- -
只是默认没提供这个功能罢了

我记得在原版的夜想曲里有用到

当时试图提取出来使用没成功- -|

LZ可以去下载下来看看 …………
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-29
帖子
453
17
发表于 2007-8-18 05:42:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-4-26
帖子
444
18
 楼主| 发表于 2007-8-18 05:53:20 | 只看该作者
汗..
那为什么在行走图那找到个箭误导我.....
这些脚本很难理解...
我研究研究.
对了 .
那什么先传就6大做的那个也是这样的么?
是敌人的子弹哦~
群:13283861
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-29
帖子
453
19
发表于 2007-8-18 06:08:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-4-26
帖子
444
20
 楼主| 发表于 2007-8-18 06:50:38 | 只看该作者
以下引用索尔迦·蓝于2007-8-17 21:42:07的发言:


以下引用冰鸷殛霰于2007-8-17 21:34:25的发言:
晕啊!
我是用的仓库提取的事件......不一样么?


当然不一样了。
夜想曲是在
def update_actor_attk
   # C按下时
   if ((Kboard.trigger?($R_Key_SPACE) or Kboard.trigger?($R_Key_RETURN)) or S[1])and @actor_atktime <= 0
     if @actor.weapon_id.between?(50, 65) # and $data_weapons[@actor.weapon_id].rang >= 1
       new_x = @x + (@d == 6 ? 1 : @d == 4 ? -1 : 0)
       new_y = @y + (@d == 2 ? 1 : @d == 8 ? -1 : 0)
       event = $game_map.events[$game_map.check_event(new_x,new_y)]
       return if !event.nil? and !event.is_enemy?
       rang_atk#(@actor.animation1_id)
       return
     end
     new_x = @x + (@d == 6 ? 1 : @d == 4 ? -1 : 0)
     new_y = @y + (@d == 2 ? 1 : @d == 8 ? -1 : 0)
     event = $game_map.events[$game_map.check_event(new_x,new_y)]
     if !event.nil? and event.maxhp > 0 and @actor_atktime <= 0
       @attev = event
       dagame_acon(event,event_damage(@actor, event),@actor.animation2_id)
     end
   end
end
这里判定是否为远程攻击,如果是,则使用rang_atk方法

def rang_atk
   bullet = ARPG_Bullet.new("Arrow", @x, @y, @d)
   $scene.spriteset.add_bullet(bullet)
   @bullets.push(bullet)
   @actor_atktime = $data_weapons[@actor.weapon_id].time
end

子弹是一个ARPG_Bullet对象。

class ARPG_Bullet < Game_Character

本质上就是一个Event,比event底层一些,是角色活动块一类的冬冬

这个子弹的刷新在这里
def update_bullet
   for bullet in @bullets
     bullet.update
     case bullet.hit_event
     when String
       if bullet.opacity <= 10
         $scene.spriteset.delete_bullet(bullet)
         @bullets.delete(bullet)
       end
     when Game_Event
       event = bullet.hit_event
       next if !event.is_enemy?
       @attev = event
       dagame_acon(event,event_damage(@actor, event),@actor.animation2_id)
       $scene.spriteset.delete_bullet(bullet)
       @bullets.delete(bullet)
     end
   end
end
最后使用delete删除这个活动块。

总而言之就是特地为它的ARPG系统设计的一个远程攻击系统,你可以参考这个思路写自己的ARPG系统。
如果要想流畅刷新的话还是用脚本来写吧,事件的功能是很有限的。

能给这些脚本都打上注释么?
群:13283861
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-6-26 16:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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