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

Project1

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

[已经解决] 求一个ace用的,视野外事件不显示的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
68 小时
注册时间
2011-11-12
帖子
92
跳转到指定楼层
1
发表于 2017-8-6 17:40:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
之前只见到vx有这种脚本,在视野外的事件图片不会加载,从而大地图多事件也不会卡
以此来提高游戏性能的

PS:http://rpgmakersource.com/ourproducts/effectus/
这个的性能真的很牛哦。。990+events 60fps

我不敢向大家要这个惹因为是收费的(如果有人可以给的话。。。。。咳咳那也是极好的),
能有个类似的也好啊
已经在做游戏了~~~愉悦的做游戏体验

Lv1.梦旅人

梦石
0
星屑
50
在线时间
68 小时
注册时间
2011-11-12
帖子
92
2
 楼主| 发表于 2017-8-6 17:45:31 | 只看该作者
本帖最后由 Nil2011 于 2017-8-6 17:46 编辑

这个是吗??

。#==============================================================================
#
# ¥ Yami Script Ace - Simple Anti-lag Event
# -- Last Updated: 2012.01.07
# -- Level: Easy
# -- Requires: none
#
#==============================================================================

$imported = {} if $imported.nil?
$imported["YSA-AntiLagEvent"] = true

#==============================================================================
# ¥ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2012.01.07 - Started and Finished script.
#
#==============================================================================
# ¥ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ¥ Materials/‘fÞ but above ¥ Main. Remember to save.
#
# -----------------------------------------------------------------------------
# Event's Name.
# -----------------------------------------------------------------------------
#  Name:                      Effect:
#  ALWAYS_UPDATE_NAME    -    This event always be updated, although it's out of screen.
#  NEVER_UPDATE_NAME     -    This event never be updated.
#
#==============================================================================
# ¥ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================

module YSA
  module ANTI_LAG
    ALWAYS_UPDATE_NAME = "UPDATE_A" # Use for special event, which always need update sprite.
    NEVER_UPDATE_NAME = "UPDATE_N" # Use for decorate event.
   
    UPDATE_OUT_OF_SCREEN = false # If set this to true, all event on the map will be updated, except with NEVER_UPDATE_NAME
    TILE_BUFFER = 1 # The smaller, the better. 1 or 2 is the best.
  end
end

#==============================================================================
# ¥ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

#==============================================================================
# ¡ Game_Character
#==============================================================================

class Game_Character < Game_CharacterBase
  
  #--------------------------------------------------------------------------
  # new method: event?
  #--------------------------------------------------------------------------
  def event?
    return false
  end
  
end # Game_Character

#==============================================================================
# ¡ Game_Event
#==============================================================================

class Game_Event < Game_Character
  
  #--------------------------------------------------------------------------
  # new method: event?
  #--------------------------------------------------------------------------
  def event?
    return true
  end
  
  #--------------------------------------------------------------------------
  # new method: event
  #--------------------------------------------------------------------------
  def event
    return @event
  end
  
end # Game_Event

#==============================================================================
# ¡ Game_Map
#==============================================================================

class Game_Map
  
  #--------------------------------------------------------------------------
  # overwrite method: update_events
  #--------------------------------------------------------------------------
  def update_events
    @events.each_value {|event|
      event.update if event.event.name != YSA::ANTI_LAG::NEVER_UPDATE_NAME
    }
    @common_events.each {|event| event.update }
  end
  
end # Game_Map
  
#==============================================================================
# ¡ Sprite_Character
#==============================================================================

class Sprite_Character < Sprite_Base
  
  #--------------------------------------------------------------------------
  # new method: need_update?
  #--------------------------------------------------------------------------
  def need_update?
    return true if character.event? && character.event.name == YSA::ANTI_LAG::ALWAYS_UPDATE_NAME
    if YSA::ANTI_LAG::UPDATE_OUT_OF_SCREEN == false
      buffer_x = character.screen_x + YSA::ANTI_LAG::TILE_BUFFER * 32
      buffer_y = character.screen_y + YSA::ANTI_LAG::TILE_BUFFER * 32
      check = (buffer_x >= 0 && buffer_x <= (Graphics.width + YSA::ANTI_LAG::TILE_BUFFER * 32 * 4)) && (buffer_y >= 0 && buffer_y <= (Graphics.height + YSA::ANTI_LAG::TILE_BUFFER * 32 * 4))
      return check if character.event?
    end
    return true
  end
  
end # Sprite_Character

#==============================================================================
# ¡ Spriteset_Map
#==============================================================================

class Spriteset_Map
  
  #--------------------------------------------------------------------------
  # overwrite method: update_characters
  #--------------------------------------------------------------------------
  def update_characters
    refresh_characters if @map_id != $game_map.map_id
    @character_sprites.each {|sprite|
      if sprite.need_update?
        sprite.update
      else
        sprite.visible = false
      end
    }
  end

end # Spriteset_Map

#==============================================================================
#
# ¥ End of File
#
#==============================================================================
已经在做游戏了~~~愉悦的做游戏体验
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
68 小时
注册时间
2011-11-12
帖子
92
3
 楼主| 发表于 2017-8-6 17:48:53 | 只看该作者
已经在做游戏了~~~愉悦的做游戏体验
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

4
发表于 2017-8-6 20:58:20 | 只看该作者
本帖最后由 喵呜喵5 于 2017-8-6 21:28 编辑

噗,你可以试试 improved tests 里面排在后面的那几个性能脚本啊~
作者都帮你把其他几个脚本的性能测试好了
TheoAllen 的 https://github.com/theoallen/RGS ... ane%20Anti%20Lag.rb
Dekita 的 https://dekitarpg.wordpress.com/2014/04/20/d13x-simple-antilag/
Moghunter 的 https://atelierrgss.wordpress.com/rgss3-anti-lag/
Raizen 的
Victor 的 https://victorenginescripts.word ... er-vx-ace/anti-lag/
Yami 的 https://yamiworld.wordpress.com/ ... ple-anti-lag-event/
Vanilla 的

以及搜 anti lag 出来的各种结果……
http://www.rpgmakercentral.com/t ... -ultimate-anti-lag/
http://www.rpgmakercentral.com/t ... -in-one-map-no-lag/

点评

对。。我google了好多出来。。 感谢!!  发表于 2017-8-6 22:13
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
帖子
793
5
发表于 2017-8-6 22:09:37 | 只看该作者
那大地图上剧情的自动事件只能放到视野内做了?

点评

应该不是的。。。。毕竟视野会变化  发表于 2017-8-6 22:13
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42355
在线时间
7599 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

6
发表于 2017-8-7 12:35:26 | 只看该作者
喵呜喵5 发表于 2017-8-6 20:58
噗,你可以试试 improved tests 里面排在后面的那几个性能脚本啊~
作者都帮你把其他几个脚本的性能测试好了 ...

这几个里面其实TheoAllen的脚本是最高效的,可惜没有对sprite进行管理,事件多的时候创建sprite太频繁。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 18:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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