[fixed] TextureRegion.split() was borked.
*/\r
static void load () {\r
GdxNativesLoader.load();\r
+ if(GdxNativesLoader.disableNativesLoading) return;\r
\r
if (nativesLoaded) return;\r
\r
\r
static void load () {\r
GdxNativesLoader.load();\r
+ if(GdxNativesLoader.disableNativesLoading) return;\r
if (!load) return;\r
if (isWindows) {\r
extractLibrary("OpenAL32.dll", "OpenAL64.dll");\r
int rows = height / tileHeight;\r
int cols = width / tileWidth; \r
\r
+ int startX = x;\r
TextureRegion[][] tiles = new TextureRegion[rows][cols]; \r
for(int row = 0; row < rows; row++, y += tileHeight) {\r
+ x = startX;\r
for(int col = 0; col < cols; col++, x += tileWidth) {\r
tiles[row][col] = new TextureRegion(texture, x, y, tileWidth, tileHeight);\r
}\r
public class JoglDebugStarter {\r
\r
public static void main (String[] argv) {\r
- new JoglApplication(new com.badlogic.gdx.tests.FramebufferToTextureTest(), "Debug Test", 480, 320, false);\r
+ new JoglApplication(new com.badlogic.gdx.tests.SimpleAnimationTest(), "Debug Test", 480, 320, false);\r
}\r
}\r
import com.badlogic.gdx.scenes.scene2d.OnActionCompleted;\r
import com.badlogic.gdx.scenes.scene2d.Stage;\r
import com.badlogic.gdx.scenes.scene2d.actions.FadeTo;\r
-import com.badlogic.gdx.scenes.scene2d.actions.Forever;\r
+import com.badlogic.gdx.scenes.scene2d.actions.MoveBy;\r
import com.badlogic.gdx.scenes.scene2d.actions.Parallel;\r
+import com.badlogic.gdx.scenes.scene2d.actions.Remove;\r
+import com.badlogic.gdx.scenes.scene2d.actions.Repeat;\r
import com.badlogic.gdx.scenes.scene2d.actions.RotateBy;\r
import com.badlogic.gdx.scenes.scene2d.actions.ScaleTo;\r
import com.badlogic.gdx.scenes.scene2d.actions.Sequence;\r
// img.action(Parallel.$(Sequence.$(FadeOut.$(2), FadeIn.$(2)),\r
// Sequence.$(ScaleTo.$(0.1f, 0.1f, 1.5f), ScaleTo.$(1.0f, 1.0f, 1.5f))).setCompletionListener(listener));\r
\r
- img.action(\r
- Forever.$(\r
- Sequence.$(\r
- Parallel.$(RotateBy.$(180, 2), ScaleTo.$(1.4f, 1.4f, 2), FadeTo.$(0.7f, 2)), \r
- Parallel.$(RotateBy.$(180, 2), ScaleTo.$(1.0f, 1.0f, 2), FadeTo.$(1.0f, 2))\r
- )\r
- )\r
- );\r
- \r
+// img.action( \r
+// Sequence.$(\r
+// Parallel.$(RotateBy.$(180, 2), ScaleTo.$(1.4f, 1.4f, 2), FadeTo.$(0.7f, 2)), \r
+// Parallel.$(RotateBy.$(180, 2), ScaleTo.$(1.0f, 1.0f, 2), FadeTo.$(1.0f, 2)),\r
+// Remove.$()\r
+// )\r
+// ); \r
+ \r
+ Action action = Repeat.$(Sequence.$(\r
+ MoveBy.$(8, 0, 0.03f),\r
+ MoveBy.$(-16, 0, 0.03f),\r
+ MoveBy.$(8, 8, 0.03f),\r
+ MoveBy.$(0, -8, 0.03f)), 20);\r
+\r
+ Action action2 = action.copy();\r
+ img.action(action2);\r
+ \r
stage.addActor(img);\r
}\r
\r
--- /dev/null
+package com.badlogic.gdx.tests;\r
+\r
+import com.badlogic.gdx.Gdx;\r
+import com.badlogic.gdx.graphics.GL10;\r
+import com.badlogic.gdx.graphics.Texture;\r
+import com.badlogic.gdx.graphics.Texture.TextureFilter;\r
+import com.badlogic.gdx.scenes.scene2d.Action;\r
+import com.badlogic.gdx.scenes.scene2d.Stage;\r
+import com.badlogic.gdx.scenes.scene2d.actions.FadeTo;\r
+import com.badlogic.gdx.scenes.scene2d.actions.Forever;\r
+import com.badlogic.gdx.scenes.scene2d.actions.Parallel;\r
+import com.badlogic.gdx.scenes.scene2d.actions.RotateBy;\r
+import com.badlogic.gdx.scenes.scene2d.actions.ScaleTo;\r
+import com.badlogic.gdx.scenes.scene2d.actions.Sequence;\r
+import com.badlogic.gdx.scenes.scene2d.actors.Image;\r
+import com.badlogic.gdx.tests.utils.GdxTest;\r
+\r
+public class ComplexActionTest extends GdxTest {\r
+\r
+ @Override\r
+ public boolean needsGL20() {\r
+ return false;\r
+ }\r
+\r
+ Stage stage;\r
+\r
+ @Override\r
+ public void create() {\r
+ stage = new Stage(480,320, true);\r
+ \r
+ Action complexAction = Forever.$(\r
+ Sequence.$(\r
+ Parallel.$(RotateBy.$(180, 2), ScaleTo.$(1.4f, 1.4f, 2), FadeTo.$(0.7f, 2)), \r
+ Parallel.$(RotateBy.$(180, 2), ScaleTo.$(1.0f, 1.0f, 2), FadeTo.$(1.0f, 2))\r
+ )\r
+ );\r
+ \r
+ Texture texture = new Texture(Gdx.files.internal("data/badlogic.jpg"), false);\r
+ texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);\r
+ \r
+ final Image img1 = new Image("SampleActor1", texture);\r
+ \r
+ img1.width = img1.height = 100;\r
+ img1.originX = 50;\r
+ img1.originY = 50;\r
+ img1.x = img1.y = 50;\r
+ \r
+ final Image img2 = new Image("SampleActor1", texture);\r
+ \r
+ img2.width = img1.height = 50;\r
+ img2.originX = 50;\r
+ img2.originY = 50;\r
+ img2.x = img2.y = 150;\r
+ \r
+ stage.addActor(img1);\r
+ stage.addActor(img2);\r
+ \r
+ img1.action(complexAction.copy());\r
+ img2.action(complexAction.copy());\r
+ }\r
+ \r
+ @Override\r
+ public void render() {\r
+ Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);\r
+ stage.act(Math.min(Gdx.graphics.getDeltaTime(), 1 / 30f));\r
+ stage.draw();\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+package com.badlogic.gdx.tests;\r
+\r
+import com.badlogic.gdx.Gdx;\r
+import com.badlogic.gdx.InputProcessor;\r
+import com.badlogic.gdx.graphics.GL10;\r
+import com.badlogic.gdx.graphics.Texture;\r
+import com.badlogic.gdx.graphics.g2d.Animation;\r
+import com.badlogic.gdx.graphics.g2d.SpriteBatch;\r
+import com.badlogic.gdx.graphics.g2d.TextureRegion;\r
+import com.badlogic.gdx.math.Vector2;\r
+import com.badlogic.gdx.tests.utils.GdxTest;\r
+\r
+public class SimpleAnimationTest extends GdxTest implements InputProcessor {\r
+\r
+ @Override public boolean needsGL20 () {\r
+ return false;\r
+ }\r
+\r
+ private Animation currentWalk;\r
+ private float currentFrameTime;\r
+ private Vector2 position;\r
+ \r
+ private Texture tex;\r
+ \r
+ private Animation downWalk;\r
+ private Animation leftWalk;\r
+ private Animation rightWalk;\r
+ private Animation upWalk;\r
+ \r
+ private SpriteBatch spriteBatch;\r
+ \r
+ private static final float ANIMATION_SPEED = 0.2f;\r
+ \r
+ @Override\r
+ public void create()\r
+ {\r
+ Gdx.input.setInputProcessor(this);\r
+ tex = new Texture(Gdx.files.internal("data/animation.png"));\r
+ TextureRegion[][] regions = TextureRegion.split(tex, 32, 48);\r
+ TextureRegion[] downWalkReg = regions[0];\r
+ TextureRegion[] leftWalkReg = regions[1];\r
+ TextureRegion[] rightWalkReg = regions[2];\r
+ TextureRegion[] upWalkReg = regions[3];\r
+ downWalk = new Animation(ANIMATION_SPEED, downWalkReg);\r
+ leftWalk = new Animation(ANIMATION_SPEED, leftWalkReg);\r
+ rightWalk = new Animation(ANIMATION_SPEED, rightWalkReg);\r
+ upWalk = new Animation(ANIMATION_SPEED, upWalkReg);\r
+ \r
+ currentWalk = leftWalk;\r
+ currentFrameTime = 0.0f;\r
+ \r
+ spriteBatch = new SpriteBatch();\r
+ position = new Vector2();\r
+ }\r
+\r
+ @Override\r
+ public void render() \r
+ {\r
+ Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);\r
+ currentFrameTime += Gdx.graphics.getDeltaTime();\r
+ \r
+ spriteBatch.begin();\r
+ TextureRegion frame = currentWalk.getKeyFrame(currentFrameTime, true);\r
+ spriteBatch.draw(frame, position.x, position.y);\r
+ spriteBatch.end();\r
+ }\r
+\r
+\r
+ @Override\r
+ public boolean touchDown(int x, int y, int pointer, int button) {\r
+ position.x = x;\r
+ position.y = -y + 48;\r
+ //System.out.println(position);\r
+ return true;\r
+ }\r
+\r
+ @Override public boolean keyDown (int keycode) {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override public boolean keyUp (int keycode) {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override public boolean keyTyped (char character) {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override public boolean touchUp (int x, int y, int pointer, int button) {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override public boolean touchDragged (int x, int y, int pointer) {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override public boolean touchMoved (int x, int y) {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override public boolean scrolled (int amount) {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+}\r
package com.badlogic.gdx.tests;\r
\r
+import java.util.List;\r
import java.util.Random;\r
\r
import com.badlogic.gdx.Gdx;\r
import com.badlogic.gdx.graphics.GL10;\r
import com.badlogic.gdx.graphics.Texture;\r
-import com.badlogic.gdx.graphics.Texture.TextureFilter;\r
import com.badlogic.gdx.graphics.g2d.BitmapFont;\r
import com.badlogic.gdx.graphics.g2d.Sprite;\r
import com.badlogic.gdx.graphics.g2d.SpriteBatch;\r
import com.badlogic.gdx.graphics.g2d.TextureRegion;\r
+import com.badlogic.gdx.scenes.scene2d.Actor;\r
+import com.badlogic.gdx.scenes.scene2d.Group;\r
import com.badlogic.gdx.scenes.scene2d.Stage;\r
+import com.badlogic.gdx.scenes.scene2d.actors.FastImage;\r
import com.badlogic.gdx.scenes.scene2d.actors.Image;\r
import com.badlogic.gdx.tests.utils.GdxTest;\r
\r
Random rand = new Random();\r
for(int y = 0, i = 0; y < 12; y++) {\r
for(int x = 0; x < 24; x++) {\r
- Image img = new Image("img" + i, regions[rand.nextInt(8 * 8)]);\r
+ FastImage img = new FastImage("img" + i, regions[rand.nextInt(8 * 8)]);\r
img.x = x; img.y = y;\r
img.width = 1; img.height = 1;\r
stage.addActor(img);\r
if(useStage) {\r
stage.act(Gdx.graphics.getDeltaTime());\r
stage.getSpriteBatch().disableBlending();\r
+ Group root = stage.getRoot();\r
+ List<Actor> actors = root.getActors();\r
+// for(int i = 0; i < actors.size(); i++) {\r
+// actors.get(i).rotation += 45 * Gdx.graphics.getDeltaTime();\r
+// }\r
stage.draw(); \r
} else { \r
batch.getProjectionMatrix().setToOrtho2D(0, 0, 24, 12);\r
+ batch.getTransformMatrix().idt();\r
batch.disableBlending();\r
batch.begin();\r
for(int i = 0; i < sprites.length; i++) {\r
+// sprites[i].rotate(45 * Gdx.graphics.getDeltaTime());\r
sprites[i].draw(batch);\r
} \r
batch.end();\r
import com.badlogic.gdx.tests.Box2DTest;\r
import com.badlogic.gdx.tests.Box2DTestCollection;\r
import com.badlogic.gdx.tests.CompassTest;\r
+import com.badlogic.gdx.tests.ComplexActionTest;\r
import com.badlogic.gdx.tests.CullTest;\r
import com.badlogic.gdx.tests.DeltaTimeTest;\r
import com.badlogic.gdx.tests.FilesTest;\r
import com.badlogic.gdx.tests.RemoteTest;\r
import com.badlogic.gdx.tests.RotationTest;\r
import com.badlogic.gdx.tests.ShaderMultitextureTest;\r
+import com.badlogic.gdx.tests.SimpleAnimationTest;\r
import com.badlogic.gdx.tests.SimpleTest;\r
import com.badlogic.gdx.tests.SoundTest;\r
import com.badlogic.gdx.tests.SplineTest;\r
Box2DTest.class,\r
Box2DTestCollection.class,\r
CompassTest.class,\r
+ ComplexActionTest.class,\r
CullTest.class,\r
DeltaTimeTest.class,\r
FilesTest.class,\r
ShaderMultitextureTest.class,\r
SplineTest.class, \r
SimpleTest.class,\r
+ SimpleAnimationTest.class,\r
SoundTest.class,\r
SpriteCacheTest.class,\r
SpriteCacheOffsetTest.class,\r