Gosu "Name error" problem

Z

Zsolnai Csaba

Hello

I'm trying to write a program, that hopefully will turn into a simple
strategy game sometime. For now, i've got to the point, where a new game
window shows up.

Now i wrote a method that should draw a rectangle when you hold down the
left mouse button, and move the mouse (like in any rts game, so that you
can select multiple units). Now, this method obviously does not work,
and i'm not sure why.
If somebody could look at my code (its 1 page), and tell me the problem,
i would be grateful. However, i'm using the 'gosu' module, so it is
needed to run this program. I attached the code to this message.

Attachments:
http://www.ruby-forum.com/attachment/3427/Gosu.rb
 
J

julian^screenfashion (aka survivor)

Hello Zsolnai,

It looks like you mixed up Gosu's interfaces for C++ and Ruby :) In
Ruby, it is simply draw_quad (vs. graphics().drawQuad), or
Window#draw_quad to be more precise.
Also, the last argument should be :default instead of Gosu::amDefault.
You can leave it out, though.

The complete Ruby interface can be found at:
http://code.google.com/p/gosu/wiki/RubyReference

More information and a forum dedicated to only Gosu can be found on
http://www.libgosu.org/.

Regards,
Julian
 
Z

Zsolnai Csaba

Thank you. Replacing Gosu::Graphics:drawQuad with just draw_quad solved
the problem. What i don't understand, is why draw_quad works, and
Gosu::Graphics::draw_quad doesn't ?
 
J

julian^screenfashion (aka survivor)

What i don't understand, is why draw_quad works, andGosu::Graphics::draw_quad doesn't ?

Basically, because there is no Graphics class at all in the Ruby
version of Gosu, where all the methods from Graphics have been moved
to the Window class. Also, draw_quad is a *method*;
Gosu::Graphics::draw_quad() would be a call to a *class method* of
Gosu::Graphics. So there's only Gosu::Window#draw_quad, and you'd call
it on an instance of Window, or without any instance at all in the
methods of your Window.

Regards,
Julian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,062
Latest member
OrderKetozenseACV

Latest Threads

Top