Okay, that’s funny. Per your suggestion (I should have done so in the first place), pspeed, I made a test case. I am able to flip my guy over the y axis using scaleTextureCoordinates(1f,-1f). But he will not, for the life of me, flip on the x, using -1f,1f. Here is the relevant code:
Simple creation of sprite with quad, tex, material, etc:
[java]Texture s_spritesheet = assetManager.loadTexture(imageLocation);
s_spritesheet.setWrap(Texture.WrapMode.Repeat);
Quad s_quad = new Quad((int)(s_spritesheet.getImage().getWidth()/frames/240)(int)(s_spritesheet.getImage().getHeight()/rows/305));
s_quad.scaleTextureCoordinates(new Vector2f(-1f,1f));
s_geometry = new Geometry(name, s_quad);
Material s_material = new Material(assetManager, “Common/MatDefs/Misc/Unshaded.j3md”); s_material.setTexture(“ColorMap”, s_spritesheet);
s_geometry.setMaterial(s_material);
if (transparent){
s_material.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.Alpha);
}
[/java]
Attaching to root:
[java]playerSprite = new Sprite(“Textures/KnightForward.png”, “Player”, assetManager, true, true, 24, 1, 0.02f, “Loop”, “Start”);
playerSprite.setPaused(false);
SpriteLibrary library = new SpriteLibrary("Library 1", false);
SpriteLibrary.setL_guiNode(rootNode);
library.addSprite(playerSprite);
engine.addLibrary(library);
playerNode = new Node();
playerNode.attachChild(playerSprite.getNode());
playerSprite.move(-.5f,-.5f);
rootNode.attachChild(playerNode);[/java]
The spritesheet used as a texture is 24 frames in 1 row.
EDIT: In fact, any scaleTextureCoordinates(x,1) where x is ANY number does absolutely nothing.