Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (581)
Games in Android Showcase (162)
games submitted by our members
Games in WIP (632)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Sprite practical question...  (Read 1458 times)
0 Members and 1 Guest are viewing this topic.
Offline scr4tchy

Junior Newbie

« Posted 2011-12-06 10:35:06 »


First at all, thanks to this forum to being there =)

I'm not new at all in Java Programming but totally new in Java Game Dev.
I just try to create a simple game with a Yoshi & a world with the libgdx lib (jogl)

But I've a problem.

So I've some sprites in a texture file to make an animation.
For ex, I use 64*64 sprites in two 512*64 textures for the walk animation. In each 64*64, I've a sprite with Yoshi in a certain position. Each time the game advance, we choose the next sprite... (as described into the libgdx game). I've a texture to Walk from left to right and a texture to Walk from right to left. Why ? Because I didn't centered the sprites but aligned them at the bot-right position. So I can't flip them. I think it's not a good solution.. but it works.

But my problem is that I want the Yoshi to "stuck out his tongue" (I call this "Slurp") to right & to left. For the left slurp, it's ok because the sprite is aligned at the bot-right corner. But to the right... It cause the Yoshi to go back.
I thought about putting the Yoshi in the middle of the sprite but Yoshi+tongue take more than 32pix.. That I can't get him in the middle to be able to use symmetry or...

I don't know if I can be understood.. Sorry ^^

And I don't really want to expand all my sprites to 128*128 ? Its a bit dirty no? Please throw a light on that ^^

PS: I wanted to put an offset on the drawing method but Jogl have strange axis/scale.. Failed to find how to put a PixelOffset.


Here is my class if you want to but I think you won't need it.. And it's a bit unclean cause it's tests :
Thanks !
Offline Nate

« JGO Bitwise Duke »

Medals: 164
Projects: 4
Exp: 14 years

Esoteric Software

« Reply #1 - Posted 2011-12-06 16:00:26 »

I would expand all your sprites to be large enough for all animations, then use libgdx's TexturePacker to pack the sprites with whitespace stripping. This way the sprites are packed to take up as little space as possible, but will be drawn as if they still had their whitespace. Flipping the whitespace stripped images is supported.

Offline scr4tchy

Junior Newbie

« Reply #2 - Posted 2011-12-06 16:21:27 »


Thanks for your answer.
You mean, I should separate all my yoshi sprites into single files (ie yoshi_walk_1 yoshi_walk_2 etc....).
Then all this files to a folder (yoshi/) and use a texture packer?

That what I did manually but thanks, I now know that we can do that dynamically.

I'll try that in few hours.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline scr4tchy

Junior Newbie

« Reply #3 - Posted 2011-12-06 19:27:06 »


Thanks. I used TexturePacker and adapted my code.
I divided all my sprites to single files (yoshi-slurp_1, yoshi-slurp-2... etc) then used TexturePacker.

I define only one the images (ie, slurp to the right img) and use .flip to get it to the left. flip makes a symmetry.. Since I've centered the foots of my yoshi, that shouldn't cause any problems. That doesn't seems to cause problem with walk action but with tongue stuck action..

When WhitespaceStrip is False, That's works, I can get my yoshi walks.. stucks his tongue in both direction.
When WhitespaceStrip is True, That doesn't work. My yoshi walks in both direction but he can't stuck his tongue in a direction correctly..

I don't know why...
Maybe because AtlasRegion store the whitespace informations but don't apply it then the cast to TextureRegion can't be done..
But Animation takes TextureRegion constructor parameter only.

Packed stripped:
Packed nonstripped:

I can provide you the entire sources if needed..

Offline Nate

« JGO Bitwise Duke »

Medals: 164
Projects: 4
Exp: 14 years

Esoteric Software

« Reply #4 - Posted 2011-12-06 19:46:19 »

Maybe because AtlasRegion store the whitespace informations but don't apply it then the cast to TextureRegion can't be done..
But Animation takes TextureRegion constructor parameter only.
That is correct. You must use sprites that you get from TextureAtlas to draw your yoshi. The Sprite you get will be an AtlasSprite, which handles drawing the whitespace stripped image. Animation is only a few lines of code, copy and paste it and adapt to use Sprite. Most games need their own Animation class anyway, so not much time has been spent on a fancy one for libgdx.

Offline scr4tchy

Junior Newbie

« Reply #5 - Posted 2011-12-06 19:58:58 »

Thanks for all Grin

See you !
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

MrMapcom (16 views)
2015-05-23 20:26:16

MrMapcom (22 views)
2015-05-23 20:23:34

Waterwolf (29 views)
2015-05-20 15:01:45

chrislo27 (35 views)
2015-05-20 03:42:21

BurntPizza (71 views)
2015-05-10 15:53:18

FrozenShade (56 views)
2015-05-07 09:11:21

TheLopais (218 views)
2015-05-06 13:36:48

TheLopais (202 views)
2015-05-06 13:35:14

TheLopais (207 views)
2015-05-06 13:33:39

TheLopais (227 views)
2015-05-06 13:32:48
List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21

Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!