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

Project1

 找回密码
 注册会员
搜索

【中阶教程】你真的懂了吗?(一)

查看数: 8483 | 评论数: 21 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2009-10-6 13:56

正文摘要:

本帖最后由 IamI 于 2009-10-7 17:55 编辑 为那些会用脚本但是“不知道怎么就出了个Bug”的人而作。 (一) super 1 super的含义是,执行直接基类中的同名方法。 2 super的参数将被直接传递给基类中的同名方法 ...

回复

霜冻之狼 发表于 2009-11-1 14:45:35
我果然是脚本无能……

还是回去学俺的画画去~
水镜风生 发表于 2009-11-1 14:34:17
感激,受教了……

本来还一直以为ruby调用函数时没有参数就直接省略(),没想到super和super()还有区别。
跳过直接父类调用间接父类的同名方法也很棒,之前一直没想到还能这样。

至于家庭作业嘛,咳咳,逃掉好了……
づ夏夜の雨 发表于 2009-11-1 14:02:23
好难,不明白..
瓦沙尔 发表于 2009-10-31 21:06:26
提示: 作者被禁止或删除 内容自动屏蔽
倚乐 发表于 2009-10-17 08:08:26
提示: 作者被禁止或删除 内容自动屏蔽
DeathKing 发表于 2009-10-7 16:28:35
好像最开始就注释了一个……囧了Orz~

dispose那地方还真没看到……Orz……
奶油Da蛋糕 发表于 2009-10-7 14:09:09
这算哪门子答案,这个动画也没动起来呀貌似就改了下坐标。
夏季冰川 发表于 2009-10-7 14:05:29
另外闲着没事给draw_text加上1得到额外的5分
IamI 发表于 2009-10-7 13:34

这东西我也注意到了,我很奇怪为啥少了1它不抱错?
IamI 发表于 2009-10-7 13:34:50
下面公布家庭作业答案:
class Sprite_Up < Sprite
  def initialize(string)
    super()
    @string = string
    self.bitmap = Bitmap.new(640,480)
  end
  def update(str)
    super()
    if @string != str
      @string = str
      refresh(str)
    end
  end
  # dispose
  def refresh(str)
    #super
    self.bitmap.draw_text(self.bitmap.rect,str,1)
  end
end

a = Sprite_Up.new("")
for i in 1..300
  a.update("Hello World")
  Graphics.update
end
a.flash(Color.new(255,0,0),40)
for i in 1..40
  a.update("Hello World")
  Graphics.update
end
a.dispose

refresh中super删去(10分)
dispose方法定义直接删去(15分。加super的得10分)
update要加上super(10分)
最后的循环中,必须更新精灵,否则看不到flash的效果(15分)
另外闲着没事给draw_text加上1得到额外的5分,总分不超过50分。
大家做的如何> <
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-8-15 13:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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