Hi there,
I wonder is there is a way to drawsprite by his center, i mean any way to change the 'hot spot' of the sprite.
I know I can use offsets to draw the sprite where must be, but I wonder is there is any method to change this.
In the other hand i wonder is there is any way to change the thickness of drawline (I would like to draw lines more thickness).
Thanks in advance,
Kig Regards, fjsantos.
Would be nice, but the only commands that use a different hotspot are those that rotate a sprite (at which point the centre of the sprite is used).
http://www.glbasic.com/forum/index.php?topic=1457.msg9615#msg9615 (http://www.glbasic.com/forum/index.php?topic=1457.msg9615#msg9615)
Roto sprite abound a pivot point.
Hi,
Thanks for the answer, i have found specially interesting the pivot point.
And about thickness of drawline? I am currently using 'X_Line' which can be specify the thick of the line, but i can get same 'effect' using only drawline command?
King Regards, fjsantos.
you can try glLineWidth (there's an OpenGL wrapper on the forums somewhere)
Thanks Gernot, i will take a look!
King Regards, fjsantos.
GETSPRITESIZE Image,ImageSizeX,ImageSizeY
ImageCenterX=ImageX+(ImageSizeX/2)
ImageCenterY=ImageY+(ImageSizeY/2)
This will tell you the images center.
Hi kamakazieturtle,
I actually use this code to get center of sprite (one time only, when i load the sprites, in the sprites type for speed purposes).
Thanks for sharing.
King Regards, fjsantos.
Hi there,
I finally find the wrapper that Gernot talks me about. The wrapper is:
INLINE
#define OGL ::
typedef float GLfloat;
ENDINLINE
INLINE
} extern "C" { void __stdcall glLineWidth( GLfloat width );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glLineWidth: width
INLINE
OGL glLineWidth(width);
ENDINLINE
ENDFUNCTION
It's works like a charm! But I have a question:
When I compiled it's says 'Warning: Demo mode: This command would require Net or 3D addon'.
I currently have NET addon but not 3D. However it's seems is not in demo mode, cause i can't see the 'demo' image on screen.
Can anyone confirm that with NET addon is enough to compile this?
King Regards, fjsantos.
oh.
You need the premium for INLINE.
Try this instead:
IMPORT "C" void glLineWidth(float);
and try to use it as if it was an GLBasic command.
Hi Gernot,
Works like a charm!
Anyway, what is the premium module?
King Regards, fjsantos.
premium = 2D+3D+NET.
Very interesting,
I am currently working on 2 games on 2D, but i will probably buy 3D module in a few moths for the next games (3D time)!
King Regards, fjsantos.