Project1

标题: 谁敢再说Tilemap内部由Script构成我们就可以BS他了! [打印本页]

作者: yangff    时间: 2011-4-30 15:58
标题: 谁敢再说Tilemap内部由Script构成我们就可以BS他了!
$scripts=[]
class Script
  alias old_initialize initialize

  def initialize
    old_initialize
    $scripts.push(self)
  end

end
    $data_actors        = load_data("Data/Actors.rvdata")
    $data_classes       = load_data("Data/Classes.rvdata")
    $data_skills        = load_data("Data/Skills.rvdata")
    $data_items         = load_data("Data/Items.rvdata")
    $data_weapons       = load_data("Data/Weapons.rvdata")
    $data_armors        = load_data("Data/Armors.rvdata")
    $data_enemies       = load_data("Data/Enemies.rvdata")
    $data_troops        = load_data("Data/Troops.rvdata")
    $data_states        = load_data("Data/States.rvdata")
    $data_animations    = load_data("Data/Animations.rvdata")
    $data_common_events = load_data("Data/CommonEvents.rvdata")
    $data_system        = load_data("Data/System.rvdata")
    $data_areas         = load_data("Data/Areas.rvdata")

    $game_temp          = Game_Temp.new
    $game_message       = Game_Message.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
$game_map.setup(1)
$sm=Spriteset_Map.new
while true
  Graphics.update
  Input.update
  $sm.update
  if $scripts!=[]
    p $scripts
    exit
  end
end

另外Panel也试过了~
作者: 禾西    时间: 2011-5-1 00:33
是 Sprite 呀 Sprite 呀……
作者: yangff    时间: 2011-5-1 00:39
禾西 发表于 2011-5-1 00:33
是 Sprite 呀 Sprite 呀……

$scripts=[]
class Sprite
  alias old_initialize initialize

  def initialize(*args)
    old_initialize(*args)
    $scripts.push(self)
  end

end
    $data_actors        = load_data("Data/Actors.rvdata")
    $data_classes       = load_data("Data/Classes.rvdata")
    $data_skills        = load_data("Data/Skills.rvdata")
    $data_items         = load_data("Data/Items.rvdata")
    $data_weapons       = load_data("Data/Weapons.rvdata")
    $data_armors        = load_data("Data/Armors.rvdata")
    $data_enemies       = load_data("Data/Enemies.rvdata")
    $data_troops        = load_data("Data/Troops.rvdata")
    $data_states        = load_data("Data/States.rvdata")
    $data_animations    = load_data("Data/Animations.rvdata")
    $data_common_events = load_data("Data/CommonEvents.rvdata")
    $data_system        = load_data("Data/System.rvdata")
    $data_areas         = load_data("Data/Areas.rvdata")

    $game_temp          = Game_Temp.new
    $game_message       = Game_Message.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
$game_map.setup(1)
$sm=Spriteset_Map.new
while true
  Graphics.update
  Input.update
  $sm.update
  #if $scripts.size>1
    for i in $scripts
      if not i.bitmap.nil?
        #p i.bitmap.width,i.bitmap.height
        i.bitmap.fill_rect(0,0,i.bitmap.width,i.bitmap.height,Color.new(0,0,0))
      end
    end
    #exit
  #end
end

还是如此~
作者: 禾西    时间: 2011-5-1 00:45
Tilemap内部又不是用ruby寫的- -b。
算了,結論也是一樣的。tilemap 內部的確沒有應用到ruby的sprite
用sprite做tilemap,效率會很悲劇。
作者: yangff    时间: 2011-5-1 00:46
禾西 发表于 2011-5-1 00:45
Tilemap内部又不是用ruby寫的- -b。
算了,結論也是一樣的。tilemap 內部的確沒有應用到ruby的sprite
用spr ...

RGE的Tilemap内部貌似就是sprite = =
虽然不是Ruby写的但是还是有Ruby特性的……Ruby的SDK= =
作者: 匿名    时间: 2011-5-1 01:15
偶咋记得很早以前这个问题就已经被深入地讨论过了捏 囧
(并且留下大把乱七八糟的TILEMAP脚本大部分死在执行效率上)
作者: yangff    时间: 2011-5-1 01:38
Anonymous 发表于 2011-5-1 01:15
偶咋记得很早以前这个问题就已经被深入地讨论过了捏 囧
(并且留下大把乱七八糟的TILEMAP脚本大部 ...

用C++可以解决该问题




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1