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

Project1

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

关于调用自身的类内的方法的问题.....

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
433 小时
注册时间
2007-5-1
帖子
993
跳转到指定楼层
1
发表于 2008-2-8 20:40:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
呃........不知道为什么会写出歧义性这么大的题目,反正看例子吧:
在Scene_Title里:
case @command_window.index
      when 0  # 新游戏
        command_new_game
      when 1  # 继续
        command_continue
      when 2  # 退出
        command_shutdown

然后下面有这样的定义:
   def command_new_game
   ............
   def command_continue
   .............
   def command_shutdown
   .............

问题是:
当在类内调用自身的方法时,不用生成实例?抑或......command_XXXXX像C语言那样作函数用?

为什么我这样:
    class Gou
     def jiao
      p "wow~~"
     end
     jiao
    end
却jiao不出来.....
版务信息:本贴由楼主自主结贴~

嗯,不能浪费签名了,打广告。本人的悲剧作品:
坑化游戏《龙之影》      R剧《星空》     小游戏《剑与拳头》
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-26
帖子
1544
2
发表于 2008-2-8 20:45:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-26
帖子
1544
3
发表于 2008-2-8 20:46:06 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

綾川司の姫様<

梦石
0
星屑
50
在线时间
796 小时
注册时间
2007-12-20
帖子
4520

贵宾第3届短篇游戏大赛R剧及RMTV组亚军

4
发表于 2008-2-8 21:07:02 | 只看该作者
最近理解能力严重下降,请问你是要这个效果吗?
   class Gou
  def main
     print "wow~~"
   $scene = Scene_Map.new
   end
   end

然后调用$scene = Gou.new

生命即是责任。自己即是世界。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-6-3
帖子
522
5
发表于 2008-2-8 21:10:11 | 只看该作者
以下引用逐月于2008-2-8 12:46:06的发言:

先调用脚本。
LZ可以这样用
class Gou
  def  initialize
    jiao
  end  
  def jiao
     p "wow~~"
  end
end
然后在时间脚本里生成实例aaa=Gou.new
或者
class Gou
  def self.jiao
     p "wow~~"
   end
   jiao
end
啊……正太好可爱啊~~~~ 偶死了,2009年重生
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

心无天使

梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-12-15
帖子
1016
6
发表于 2008-2-8 21:14:58 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

7
发表于 2008-2-8 22:57:09 | 只看该作者
类中, 除了静态的, 都只是声明和定义
class T_T
  @@B_B = 0 # protected static B_B
  B_B = 1   # public static const B_B
  def initialize
   B_B()
  end
  def B_B
    p "@_@"
  end
  def B_B2
    p @@B_B
  end
  def self.B_B3   # protected static B_B3()
    p "B_B"
  end
  B_B3()
end

d_d = T_T.new
d_d.B_B2
p T_T::B_B

class Q_Q < T_T
  B_B3()
end
哈... 我楼上已经有答案了 - -b
以下引用华华于2008-2-8 13:10:11的发言:
class Gou
def self.jiao
    p "wow~~"
  end
  jiao
end

在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
433 小时
注册时间
2007-5-1
帖子
993
8
 楼主| 发表于 2008-2-9 19:25:53 | 只看该作者
呃......2~5楼全部误解风某的意思了......你们忽略了风某给出的例子吧.......
风某想问的是,在Scene_Title里,为什么可以:
  when 0
   command_new_game
command_new_game是一个方法,这个方法不用实例就直接调用了,所以令风某感到疑惑.
嗯,绿发MM的这句是正解:
类的内部调用好像也是必须在另一个def里面呢

把jiao写在另一个方法里就不会出错了,感谢各位的热情解答.
以下引用Eclair于2008-2-8 13:14:58的发言:
LZ要继续加油哦~~

多谢鼓励.


嗯,不能浪费签名了,打广告。本人的悲剧作品:
坑化游戏《龙之影》      R剧《星空》     小游戏《剑与拳头》
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-3 01:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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