Project1

标题: 如何突破图片编号上限 [打印本页]

作者: qq295268654    时间: 2012-8-18 21:59
标题: 如何突破图片编号上限
请问如何突破图片编号上限,不够用啊= =dsu_plus_rewardpost_czw
作者: yagami    时间: 2012-8-18 22:34
  1. $data_actors        = load_data("Data/Actors.rxdata")        #——角色

  2. $data_classes       = load_data("Data/Classes.rxdata")       #——职业

  3. $data_skills        = load_data("Data/Skills.rxdata")        #——特技

  4. $data_items         = load_data("Data/Items.rxdata")         #——物品

  5. $data_weapons       = load_data("Data/Weapons.rxdata")       #——武器

  6. $data_armors        = load_data("Data/Armors.rxdata")        #——防具

  7. $data_enemies       = load_data("Data/Enemies.rxdata")       #——敌人

  8. $data_troops        = load_data("Data/Troops.rxdata")        #——队伍

  9. $data_states        = load_data("Data/States.rxdata")        #——状态

  10. $data_animations    = load_data("Data/Animations.rxdata")    #——动画

  11. $data_tilesets      = load_data("Data/Tilesets.rxdata")      #——图块

  12. $data_common_events = load_data("Data/CommonEvents.rxdata")  #——公共事件

  13. $data_system        = load_data("Data/System.rxdata")        #——状态



  14. for i in 1..5000   #——上限设置

  15. $data_actors[i] = RPG::Actor.new if $data_actors[i]==nil

  16. $data_classes[i] = RPG::Class.new if $data_classes[i]==nil

  17. $data_skills[i] = RPG::Skill.new if $data_skills[i]==nil

  18. $data_items[i] = RPG::Item.new if $data_items[i]==nil

  19. $data_weapons[i] = RPG::Weapon.new if $data_weapons[i]==nil

  20. $data_armors[i] = RPG::Armor.new if $data_armors[i]==nil

  21. $data_enemies[i] = RPG::Enemy.new if $data_enemies[i]==nil

  22. $data_troops[i] = RPG::Troop.new if $data_troops[i]==nil

  23. $data_states[i] = RPG::State.new if $data_states[i]==nil

  24. $data_animations[i] = RPG::Animation.new if $data_animations[i]==nil

  25. $data_tilesets[i] = RPG::Tileset.new if $data_tilesets[i]==nil

  26. $data_common_events[i] = RPG::CommonEvent.new if $data_common_events[i]==nil

  27. $data_system.elements[i] = "" if $data_system.elements[i]==nil

  28. end



  29. save_data($data_actors,"Data/Actors.rxdata")

  30. save_data($data_classes,"Data/Classes.rxdata")

  31. save_data($data_skills,"Data/Skills.rxdata")

  32. save_data($data_items,"Data/Items.rxdata")

  33. save_data($data_weapons,"Data/Weapons.rxdata")

  34. save_data($data_armors,"Data/Armors.rxdata")

  35. save_data($data_enemies,"Data/Enemies.rxdata")

  36. save_data($data_troops,"Data/Troops.rxdata")

  37. save_data($data_states,"Data/States.rxdata")

  38. save_data($data_animations,"Data/Animations.rxdata")

  39. save_data($data_tilesets,"Data/Tilesets.rxdata")

  40. save_data($data_common_events,"Data/CommonEvents.rxdata")

  41. save_data($data_system,"Data/System.rxdata")



  42. exit
  43. #复制代码如果有不需要的,请删除以上三段中相同位置的脚本。(也可用$data_xxx识别)


  44. #<地图宽高>强烈不建议……
  45. ==========================================
  46. a = load_data("Data/Map001.rxdata")  #—— 001:地图ID
  47. $data_map = RPG::Map.new(200,250)    #—— 200:长 250:宽
  48. $data_map.tileset_id = a.tileset_id
  49. $data_map.autoplay_bgm = a.autoplay_bgm
  50. $data_map.bgm = a.bgm
  51. $data_map.autoplay_bgs = a.autoplay_bgs
  52. #——白字
  53. $data_map.bgs = a.bgs
  54. $data_map.encounter_list = a.encounter_list
  55. $data_map.encounter_step = a.encounter_step
  56. $data_map.events = a.events
  57. save_data($data_map,"Data/Map001.rxdata")
  58. exit

  59. #强烈不建议……破坏力极强,卡了我老半天……
  60. ==========================================

  61. #<破除地图999张的限制>  by  TERENCE(龙皇)
  62. #http://rpg.blue/web/htm/news1092.htm


  63. #<开关、变量>

  64. $data_system        = load_data("Data/System.rxdata")
  65. $data_system.switches =  []     #——开关
  66. $data_system.variables = []     #——变量
  67. #——上限设置
  68. for i in 1..6000
  69. $data_system.switches.push("")
  70. $data_system.variables.push("")
  71. end
  72. save_data($data_system,"Data/System.rxdata")
  73. exit
  74. #除此还需把Game_Switches、Game_Variables两个脚本中的5000改为更高。
  75. #PS:多用变量可以节约许多开关。


  76. #咳咳……这个脚本的用处极小。写得初衷也是因为今天某人提问如何突破,结果后面一个跟着一个提问的现象。顺便照应RMXP提问区即将来临的“我的情人在哪”这个活动。
  77. #各位都来大显身手吧=w=
复制代码

作者: qq295268654    时间: 2012-8-19 17:15
本帖最后由 qq295268654 于 2012-8-19 17:22 编辑
yagami 发表于 2012-8-18 22:34


能简单说明一下使用方法吗,在这个脚本里面改了上限之后,还要在其他脚本改吗,还有就是,开关默认是5000吗,为什么我觉得没那么多���,还有就是,没有图片编号这个改变啊,好像
作者: 灯笼菜刀王    时间: 2012-8-21 06:05
本帖最后由 灯笼菜刀王 于 2012-8-21 06:06 编辑

直接使用显示图片就行了
$game_screen.pictures[编号].show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)

编号随便你写多少都可以,

要移动图片和让图片消失也用脚本控制就行了

移动图片 $game_screen.pictures[number].move(duration, origin, x, y, zoom_x, zoom_y, opacity, blend_type)
旋转图片 $game_screen.pictures[number].rotate(速度)
图片消失 $game_screen.pictures[number].erase
作者: 亿万星辰    时间: 2012-8-21 06:44
50张图片还不够用么……这个50是指画面上同时出现50张啊!
作者: orochi2k    时间: 2012-8-21 08:32
Yo~星子叔叔,说不定人家要创造宇宙神马的呢。
好吧,其实最简单的方法就是:

a =[]
while(true)
s = Sprite.new
s.bitmap = Bitmap.new("那个啥文件名")
a.push(s)
end

然后让偶们战到内存爆炸 大雾
作者: 灯笼菜刀王    时间: 2012-8-22 06:44
灯笼菜刀王 发表于 2012-8-21 06:05
直接使用显示图片就行了
$game_screen.pictures[编号].show(name, origin, x, y, zoom_x, zoom_y, opacity, ...

blend_type是合成方式,0普通,1加法,2减法
作者: R-零    时间: 2012-8-22 07:43
orochi2k 发表于 2012-8-21 08:32
Yo~星子叔叔,说不定人家要创造宇宙神马的呢。
好吧,其实最简单的方法就是:

大蛇最近好奇怪呢

直接脚本写这个
a = []
Thread.new{
s = Sprite.new
s.bitmap = Bitmap.new("那个啥文件名")
a.push(s)
}

然后咱什么东西炸掉了来着
作者: 艾拉·贝尔    时间: 2012-8-22 12:26
每次都是不一样的图还是图都是一样的? 如果有的图有重复出现我可以教你偷懒的办法
作者: 艾拉·贝尔    时间: 2012-8-22 13:35

图片上限解决方案

分情况解释: 采用我的游戏双月交响曲的剧情算是免费给你好了,不过我不知道这个是不是你要的状况


1.如果是对话的显示

A:与无图的NPC对话,且有表情变化。











简单的事件做出来的对话

2.如果是有需要重复图片的二人对话。











有些地方重复但是图不一样。所以同一个任务用同一个序号是可以 在事件的行为中,他会自己替换图片,在你不需要这些图片的时候只需要图片消失一次就可以了,不需要重复的消失出现。这样就节省了你在对话里面的图片序列状况。
多人对话也一样,只要设定好那个人是序号几再把你的图片加入,事件的设置在序列号的位置不变,图片变动,这样你的力气会省很多。

事件设置:




作者: 艾拉·贝尔    时间: 2012-8-22 13:38
本帖最后由 艾拉·贝尔 于 2012-8-22 13:46 编辑

附注:如果楼主有一群人对话 一定要搞清楚到底谁是谁哦 要是搞错了序列号可就麻烦啦





作者: 艾拉·贝尔    时间: 2012-8-22 13:41
本帖最后由 艾拉·贝尔 于 2012-8-22 13:44 编辑

如果这样可以行得通我想应该够了

如果不行我在给你弄弄
作者: qq295268654    时间: 2012-8-22 18:53
艾拉·贝尔 发表于 2012-8-22 13:35
图片上限解决方案

分情况解释: 采用我的游戏双月交响曲的剧情算是免费给你好了,不过我不知道这个是不是 ...

扑哧,好方法,其实我要这个方法还有个原因,就是太久没做,忘了以前那些图占的是哪个编号,现在看看吧。
做的好精致啊{:2_286:}
作者: 艾拉·贝尔    时间: 2012-8-23 12:02
qq295268654 发表于 2012-8-22 18:53
扑哧,好方法,其实我要这个方法还有个原因,就是太久没做,忘了以前那些图占的是哪个编号,现在看看吧。 ...

我用的也是66的图 只不过有些东西是抓这里没有的
作者: 789456qwe    时间: 2013-3-23 08:43
yagami 发表于 2012-8-18 22:34


用的你脚本之后游戏无法远行{:2_271:}
作者: 卡修斯~    时间: 2015-10-31 17:43
图片根本不够用啊……一般场景的图片还可以凑合着用,可是战斗中显示主要敌人血量要13张图片,血条要24张图片,特殊事件处理要12张图片,如今想把敌人状态和属性显示加进去,发现图片不够惹,话说谁知道怎么提高50张图片使用的上限?







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