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

Project1

 找回密码
 注册会员
搜索
楼主: 寒冷魔王
打印 上一主题 下一主题

[已经过期] 求助,RGSS3的代码参考

[复制链接]

Lv1.梦旅人

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
帖子
914
11
发表于 2014-8-14 15:05:03 | 只看该作者
"备注"是这个代码:#

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1024
在线时间
1389 小时
注册时间
2010-8-9
帖子
3471
12
 楼主| 发表于 2014-8-14 15:14:35 | 只看该作者
taroxd 发表于 2014-8-14 14:52
数组的数组不就等效成二维数组了么

1.upto(9) do |x|

我说的是这种:
0.0,0.1,0.2
1.0,1.1,1.2
类似这样调用arry[x,y]

点评

rgss1有这种数组吗……  发表于 2014-8-14 15:25

评分

参与人数 1星屑 +1 收起 理由
taroxd + 1 20L

查看全部评分

SRPG on RM 项目研发组 正式成立。目前SRPG·RMVA系统进度88.8%。SMRC Kernel 进度90%
↖(^ω^)↗热烈庆祝~SMRC Ver5.1 SRPG战棋地图移动范围生成脚本正式发布~~
-----------------------------------------------------------------------------------------
SMRC具有高性能、高兼容、定制自由、使用方便的特点。
1.性能,100移动力轻松算出,无压力;
2.兼容,RGSS1-3通吃,效率保证;
3.支持移动形状定制,支持4方位、6方位、正方形或其他任意有移动规律的形状;
4.可以充当高性能寻路来使用。
【链接点此】
-----------------------------------------------------------------------------------------
【2016/01/06更新 | 改版】RM脚本编辑器Gemini
-----------------------------------------------------------------------------------------
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

13
发表于 2014-8-14 15:18:05 | 只看该作者
寒冷魔王 发表于 2014-8-14 15:14
我说的是这种:
0.0,0.1,0.2
1.0,1.1,1.2

要么用RGSS的Table类,要么自己定义一个就是咯~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1024
在线时间
1389 小时
注册时间
2010-8-9
帖子
3471
14
 楼主| 发表于 2014-8-14 15:27:39 | 只看该作者
taroxd 发表于 2014-8-14 15:18
要么用RGSS的Table类,要么自己定义一个就是咯~

话说为什么调用p Game_Party.new.actors会出错?明明输出Game_Party.new是显示了@actors了啊,而且我用.items都没事

点评

不对 那是members all_members就是全队员  发表于 2014-8-14 15:31
现在不支持直接访问队员全列表了 all_members会根据是否在战斗返回战斗全队员或者全队员  发表于 2014-8-14 15:30
Game_Party.new.all_members  发表于 2014-8-14 15:30
SRPG on RM 项目研发组 正式成立。目前SRPG·RMVA系统进度88.8%。SMRC Kernel 进度90%
↖(^ω^)↗热烈庆祝~SMRC Ver5.1 SRPG战棋地图移动范围生成脚本正式发布~~
-----------------------------------------------------------------------------------------
SMRC具有高性能、高兼容、定制自由、使用方便的特点。
1.性能,100移动力轻松算出,无压力;
2.兼容,RGSS1-3通吃,效率保证;
3.支持移动形状定制,支持4方位、6方位、正方形或其他任意有移动规律的形状;
4.可以充当高性能寻路来使用。
【链接点此】
-----------------------------------------------------------------------------------------
【2016/01/06更新 | 改版】RM脚本编辑器Gemini
-----------------------------------------------------------------------------------------
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1024
在线时间
1389 小时
注册时间
2010-8-9
帖子
3471
15
 楼主| 发表于 2014-8-14 15:32:16 | 只看该作者
本帖最后由 寒冷魔王 于 2014-8-14 15:33 编辑

@余烬之中
RUBY 代码复制
  1. a = []
  2. for i in 0..20
  3.   for j in 0..10
  4.     a[i] = [] if a[i] == nil
  5.     a[i][j] = 2014
  6.   end
  7. end
  8. p a[0,0]#[]

RGSS1,3中都是这种效果


点评

我学脚本也没有一年 也没有书本来教 也是邪门歪道  发表于 2014-8-14 15:53
我会的都是我自己实验理解出来的= =  发表于 2014-8-14 15:38
是啊= =完全是斜门外道  发表于 2014-8-14 15:37
那不是二维数组……天呐 你需要补补ruby基础  发表于 2014-8-14 15:34
SRPG on RM 项目研发组 正式成立。目前SRPG·RMVA系统进度88.8%。SMRC Kernel 进度90%
↖(^ω^)↗热烈庆祝~SMRC Ver5.1 SRPG战棋地图移动范围生成脚本正式发布~~
-----------------------------------------------------------------------------------------
SMRC具有高性能、高兼容、定制自由、使用方便的特点。
1.性能,100移动力轻松算出,无压力;
2.兼容,RGSS1-3通吃,效率保证;
3.支持移动形状定制,支持4方位、6方位、正方形或其他任意有移动规律的形状;
4.可以充当高性能寻路来使用。
【链接点此】
-----------------------------------------------------------------------------------------
【2016/01/06更新 | 改版】RM脚本编辑器Gemini
-----------------------------------------------------------------------------------------
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6438
在线时间
1274 小时
注册时间
2013-8-21
帖子
3657

开拓者

16
发表于 2014-8-14 15:33:35 | 只看该作者
寒冷魔王 发表于 2014-8-14 15:27
话说为什么调用p Game_Party.new.actors会出错?明明输出Game_Party.new是显示了@actors了啊,而且我用.i ...

点评里没说清楚 = =!

all_members会返回全队员列表数组 每一项都是一个Game_Actor
members根据战斗或非战斗返回战斗队员或者非战斗队员 每一项都是一个Game_Actor
battle_members返回战斗队员 每一项都是一个Game_Actor

@actors不支持直接访问 它保存的是队员的索引号

点评

当然 确保代码在新游戏开始后再运行  发表于 2014-8-14 16:47
因为你是Game_Party.new的新队伍 自然没有队员 你应该用$game_party.all_members才能访问到队员  发表于 2014-8-14 16:47
为什么输出是[],那个all_members  发表于 2014-8-14 16:40
是啦!我光输出Game_Party,忘了除了数据还可以直接调用方法了!刚刚找自带脚本时才发现  发表于 2014-8-14 15:44
萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

17
发表于 2014-8-14 15:33:38 | 只看该作者
寒冷魔王 发表于 2014-8-14 15:32
@余烬之中
a = []
for i in 0..20

当然的,你是要访问 a 的“从下标0开始的0个元素”嘛

总之你需要这样的二维数组实现的话,自己定义不就好了
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6438
在线时间
1274 小时
注册时间
2013-8-21
帖子
3657

开拓者

18
发表于 2014-8-14 15:37:41 | 只看该作者
寒冷魔王 发表于 2014-8-14 15:32
@余烬之中
a = []
for i in 0..20

打开你VA的F1手册,找到ruby内建类--Object--Array 里面有这样一段

self[start, length]
Returns an array containing length items from start. If the start value is negative, counts backward from the end of the array (the index of the last element is -1).If length is longer than the length of the array from start, the length of the overlong portion is ignored. Returns nil if length is negative.


意思就是 通过ary[a, b],并不是访问二维数组的a,b位置,而是从数组的a位置开始,截取连续b个元素并放在一个新数组中返回

示例
  1. a = [1, 2, 3, 4, 5, 6]
  2. p a[3, 3] #=> [4, 5, 6]
复制代码

点评

知道了谢啦……不懂英语的弱弱的爬过  发表于 2014-8-14 15:41
萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6182
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
19
发表于 2014-8-14 15:41:25 | 只看该作者
各位大大的脚本太深奥了,看样子我搞不定...我先闪了...

点评

单行用{},多行do...end是我的习惯。优先级发生问题时无视这一习惯  发表于 2014-8-14 16:00
聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

20
发表于 2014-8-14 15:45:53 | 只看该作者
本帖最后由 taroxd 于 2014-8-14 17:00 编辑

给你定义了一个多维数组玩玩(不检查错误,你愿意的话可以检查参数个数。现在多余的参数会被丢弃。)

each 之类的方法也很容易加上的

RUBY 代码复制
  1. class MultiArray
  2.  
  3.   def initialize(dimention = 2)
  4.     @dimention = dimention
  5.     @data = []
  6.   end
  7.  
  8.   def [](first, *indice)
  9.     return @data[first] if @dimention == 1
  10.     row(first)[*indice]
  11.   end
  12.  
  13.   def []=(first, *indice, value)
  14.     return @data[first] = value if @dimention == 1
  15.     row(first)[*indice] = value
  16.   end
  17.  
  18.   private
  19.  
  20.   def row(i)
  21.     @data[i] ||= MultiArray.new(@dimention - 1)
  22.   end
  23.  
  24. end
  25.  
  26. arr = MultiArray.new(3)
  27. arr[0,1,2] = 3
  28. p arr[0,1,2] #=> 3
  29. p arr[1,2,3] #=> nil
  

评分

参与人数 1星屑 +66 收起 理由
余烬之中 + 66 不错

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-12 09:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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