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

Project1

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

[已经解决] 【Game_Screen类问题】关于数组的使用,以及返回值

[复制链接]

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
跳转到指定楼层
1
发表于 2013-8-24 11:53:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 a554187203 于 2013-8-24 12:27 编辑

在阅读脚本的时候,看到了这样的一句话
RUBY 代码复制
  1. @pictures = [nil]

这样是数组吗?这个nil的添加有什么特别的意义吗
我把它认为是数组了,不过接下来的让我疑惑了
RUBY 代码复制
  1. for i in 1..100
  2.       @pictures.push(Game_Picture.new(i))
  3.     end

.push的功效是将括号内的内容依次代入数组的末尾
但是这个Game_Picture.new(i)让人不解
请看Game_Picture类的代码
RUBY 代码复制
  1. def initialize(number)
  2.     [url=home.php?mod=space&uid=27178]@Number[/url] = number
  3.     @name = ""
  4.     [url=home.php?mod=space&uid=27559]@origin[/url] = 0
  5.     @x = 0.0
  6.     @y = 0.0
  7.     @zoom_x = 100.0
  8.     @zoom_y = 100.0
  9.     [url=home.php?mod=space&uid=316553]@opacity[/url] = 255.0
  10.     @blend_type = 1
  11.     @duration = 0
  12.     @target_x = @x
  13.     @target_y = @y
  14.     @target_zoom_x = @zoom_x
  15.     @target_zoom_y = @zoom_y
  16.     @target_opacity = @opacity
  17.     @tone = Tone.new(0, 0, 0, 0)
  18.     @tone_target = Tone.new(0, 0, 0, 0)
  19.     @tone_duration = 0
  20.     [url=home.php?mod=space&uid=124954]@Angle[/url] = 0
  21.     @rotate_speed = 0
  22.   end

这串代码好像并没有返还一个值啊,那么@pictures.push(Game_Picture.new(i))这句话好像就是不通逻辑?

自己解决了,nil是数组[0]的内容,并没有什么其他意义,只是为了数组能够从1开始而已
至于没有返回值,是直接将实例保存在了数组中 (学了c的娃苦啊,对象是啥啊,好好的一个函数没有返回值干嘛啊)
为了证明自己的想法写了如下脚本
RUBY 代码复制
  1. class T
  2.   def initialize(y)
  3. p y
  4.   end
  5.   def test(y)
  6.     p y
  7.   end
  8. end
  9. a = [nil]
  10. for i in 1..3
  11. a.push(T.new(i))
  12. end
  13. a[1].test (6)
  14. a[0].test (5)

依次出现
1 2 3 6 出错
说明我的想法没错~

点评

在Ruby里……  发表于 2013-8-24 12:06

Lv2.观梦者

梦石
0
星屑
690
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

2
发表于 2013-8-24 11:56:33 | 只看该作者
本帖最后由 end55rpg 于 2013-8-24 11:58 编辑

刷帖好玩啊,我继续占楼
i是穿进去的值,不是返回的东西,inlilaize当然不会返回东西,= =

点评

我原本是这样想得,i传递给参数,参数返还一个值,值再给数组。  发表于 2013-8-24 12:03
等等,我仔细看了看,它是不是新建了一百个实例分别带入了数组啊...数组也能存放实例?  发表于 2013-8-24 12:02
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
3
 楼主| 发表于 2013-8-24 11:57:52 | 只看该作者
end55rpg 发表于 2013-8-24 11:56
刷帖好玩啊,我继续占楼


不是刷帖啊,我在阅读脚本,但是预置脚本有太多不知道的地方了...

点评

怎麽和@九靈一樣愛問腳本問題。。。  发表于 2013-8-24 12:16
我要逆天  发表于 2013-8-24 11:59
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
560
在线时间
1286 小时
注册时间
2011-6-14
帖子
4086
4
发表于 2013-8-24 12:02:48 | 只看该作者
推荐看帮助里的脚本解读。
XXX.new 会返回一个 XXX……
比如Sprite.new会返回一个Sprite

点评

在哪里啊,找不到...  发表于 2013-8-24 12:06
回复 支持 反对

使用道具 举报

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
5
 楼主| 发表于 2013-8-24 12:23:31 | 只看该作者
@myownroc 只是我和ta都在学习脚本,问题比较多,巧合罢了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
6
发表于 2013-8-24 13:46:24 | 只看该作者
卧槽居然不是九灵?一定是我打开的方式不对!
new在内部调用了initialize方法,但是并不是直接调用,new是有返回值的 返回这个类的一个实例,而initialize虽然也有返回值但是那是无意义的
至于[nil]他的目的如您所说是占一个0号位置的格子 使以后的实例能从1开始
我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 10:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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