Gosu 2D游戏开发编程示例错误
Gosu 2D Game Development Programming Example Error
我目前正在学习 Ruby 所以绝对是一个初学者并且一直在玩 Gosu 2D 游戏开发并且遇到以下代码的问题并且不确定我有什么 missed/done 不正确。
代码是:
require 'rubygems'
require 'gosu'
class MyGame < Gosu::Window
def initialise
super 300, 400, false
self.caption = "Gosu Tutorial Game"
end
def update
end
def draw
end
end
window = MyGame.new
window.show
以上代码存储在文件中my_game.rb
当我尝试在命令行键入代码时:
> ruby my_game.rb
我收到以下错误:
my_game.rb:17:in `initialize': wrong # of arguments(0 for 3) (ArgumentError)
from my_game.rb:17:in `new'
from my_game.rb:17:in `<main>'
你在初始化时有错别字。
您打算编写 initialize 来为您的游戏提供构造函数并使用 3 个参数调用 Gosu::Window 构造函数(超级)。
但是因为你还没有真正定义 initialize (相反你已经定义了一个不同的 initialise 方法) - MyGame.new 试图调用 Gosu::Window#initialize 接受 3 个参数,但您向 MyGame.new 提供 0 - 这就是错误消息试图传达的内容。
如果您修复拼写错误 initialise -> initialize,MyGame.new 将在不带参数的情况下调用您的构造函数,然后它将通过超级调用提供所需的 3 个参数。
我目前正在学习 Ruby 所以绝对是一个初学者并且一直在玩 Gosu 2D 游戏开发并且遇到以下代码的问题并且不确定我有什么 missed/done 不正确。
代码是:
require 'rubygems'
require 'gosu'
class MyGame < Gosu::Window
def initialise
super 300, 400, false
self.caption = "Gosu Tutorial Game"
end
def update
end
def draw
end
end
window = MyGame.new
window.show
以上代码存储在文件中my_game.rb
当我尝试在命令行键入代码时:
> ruby my_game.rb
我收到以下错误:
my_game.rb:17:in `initialize': wrong # of arguments(0 for 3) (ArgumentError)
from my_game.rb:17:in `new'
from my_game.rb:17:in `<main>'
你在初始化时有错别字。
您打算编写 initialize 来为您的游戏提供构造函数并使用 3 个参数调用 Gosu::Window 构造函数(超级)。 但是因为你还没有真正定义 initialize (相反你已经定义了一个不同的 initialise 方法) - MyGame.new 试图调用 Gosu::Window#initialize 接受 3 个参数,但您向 MyGame.new 提供 0 - 这就是错误消息试图传达的内容。
如果您修复拼写错误 initialise -> initialize,MyGame.new 将在不带参数的情况下调用您的构造函数,然后它将通过超级调用提供所需的 3 个参数。