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

Project1

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

[已经解决] 如何突破图片编号上限

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
100 小时
注册时间
2010-7-30
帖子
232
跳转到指定楼层
1
发表于 2012-8-18 21:59:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请问如何突破图片编号上限,不够用啊= =

Lv3.寻梦者

梦石
0
星屑
3583
在线时间
3065 小时
注册时间
2011-11-17
帖子
980
2
发表于 2012-8-18 22:34:00 | 只看该作者
  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=
复制代码

点评

看到突破2字 没仔细看- -  发表于 2012-8-22 14:46
- = 你太搞笑了  发表于 2012-8-22 07:40
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
100 小时
注册时间
2010-7-30
帖子
232
3
 楼主| 发表于 2012-8-19 17:15:53 | 只看该作者
本帖最后由 qq295268654 于 2012-8-19 17:22 编辑
yagami 发表于 2012-8-18 22:34


能简单说明一下使用方法吗,在这个脚本里面改了上限之后,还要在其他脚本改吗,还有就是,开关默认是5000吗,为什么我觉得没那么多���,还有就是,没有图片编号这个改变啊,好像

点评

我的游戏有一个特殊性,由于一些图片常常出现,所以必须在一些特殊图片里面对应专用编号,所以……  发表于 2012-8-19 18:52
如果是显示图片的话 完全没突破必要 默认50张足够用了 你不会同时显示那么多图片吧?比如显示图片1 用完后消失图片1 那 1号位置又能用了  发表于 2012-8-19 17:26
5000那是脚本里改的 默认999 用这个脚本 突破后才5000的 5000可以自己设置 突破图片神马意思?我标题没看清看到突破就复制过来了。。。  发表于 2012-8-19 17:25
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
4
发表于 2012-8-21 06:05:25 | 只看该作者
本帖最后由 灯笼菜刀王 于 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

点评

blend_type要填什么  发表于 2012-8-21 11:53
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

5
发表于 2012-8-21 06:44:20 | 只看该作者
50张图片还不够用么……这个50是指画面上同时出现50张啊!
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10103
在线时间
4433 小时
注册时间
2005-10-22
帖子
6962

开拓者贵宾

6
发表于 2012-8-21 08:32:51 | 只看该作者
Yo~星子叔叔,说不定人家要创造宇宙神马的呢。
好吧,其实最简单的方法就是:

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

然后让偶们战到内存爆炸 大雾

点评

编号放哪里  发表于 2012-8-21 11:47
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
7
发表于 2012-8-22 06:44:04 | 只看该作者
灯笼菜刀王 发表于 2012-8-21 06:05
直接使用显示图片就行了
$game_screen.pictures[编号].show(name, origin, x, y, zoom_x, zoom_y, opacity, ...

blend_type是合成方式,0普通,1加法,2减法
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
777
在线时间
1270 小时
注册时间
2011-2-14
帖子
5589
8
发表于 2012-8-22 07:43:19 | 只看该作者
orochi2k 发表于 2012-8-21 08:32
Yo~星子叔叔,说不定人家要创造宇宙神马的呢。
好吧,其实最简单的方法就是:

大蛇最近好奇怪呢

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

然后咱什么东西炸掉了来着
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
668
在线时间
228 小时
注册时间
2011-8-22
帖子
834
9
发表于 2012-8-22 12:26:27 | 只看该作者
每次都是不一样的图还是图都是一样的? 如果有的图有重复出现我可以教你偷懒的办法

点评

那就简单了 我再开个楼给你写出来 只不过比较多你要耐心看咯 因为我要分情况。  发表于 2012-8-22 13:08
每次都一样的图  发表于 2012-8-22 12:50
樱下乐,爱中伤,纷飞似美,却是伤。音萧萧,纷茫茫,吾知吾之伤?

测评申请帖:【请点击这里】
求评前必看:【请点击这里】
最新测评游戏:剧情解密;短⑨参赛作品《迷宫旅者》【请戳入】
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
668
在线时间
228 小时
注册时间
2011-8-22
帖子
834
10
发表于 2012-8-22 13:35:44 | 只看该作者

图片上限解决方案

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


1.如果是对话的显示

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











简单的事件做出来的对话

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











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

事件设置:



樱下乐,爱中伤,纷飞似美,却是伤。音萧萧,纷茫茫,吾知吾之伤?

测评申请帖:【请点击这里】
求评前必看:【请点击这里】
最新测评游戏:剧情解密;短⑨参赛作品《迷宫旅者》【请戳入】
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 05:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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