/** * Copyright 2010 The ForPlay Authors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package forplay.test.core; import static forplay.core.ForPlay.assetManager; import static forplay.core.ForPlay.graphics; import static forplay.core.ForPlay.keyboard; import static forplay.core.ForPlay.pointer; import forplay.core.Game; import forplay.core.GroupLayer; import forplay.core.Image; import forplay.core.ImageLayer; import forplay.core.Keyboard; import forplay.core.Pointer; public class Test implements Game, Keyboard.Listener, Pointer.Listener { GroupLayer groupLayer; ImageLayer bgLayer; ImageLayer layer0, layer1, layer2, layer3; @Override public void init() { pointer().setListener(this); keyboard().setListener(this); Image background = assetManager().getImage("images/background.png"); Image catgirl = assetManager().getImage("images/girlcat.png"); groupLayer = graphics().createGroupLayer(); groupLayer.setOrigin(128, 128); groupLayer.transform().translate(256, 256); graphics().rootLayer().add(groupLayer); bgLayer = graphics().createImageLayer(background); bgLayer.setWidth(256); bgLayer.setHeight(256); groupLayer.add(bgLayer); layer0 = graphics().createImageLayer(catgirl); layer1 = graphics().createImageLayer(catgirl); layer2 = graphics().createImageLayer(catgirl); layer3 = graphics().createImageLayer(catgirl); groupLayer.add(layer0); groupLayer.add(layer1); groupLayer.add(layer2); groupLayer.add(layer3); layer0.setOrigin(50, 100); layer1.setOrigin(50, 100); layer2.setOrigin(50, 100); layer3.setOrigin(50, 100); layer0.transform().translate(0, 0); layer1.transform().translate(256, 0); layer2.transform().translate(256, 256); layer3.transform().translate(0, 256); } private void doStuff() { } float angle = 0; float scale = 1; @Override public void update(float delta) { angle += delta * (float) Math.PI / 5000; scale = (float) Math.sin(angle) + 0.5f; layer0.transform().setRotation(angle); layer1.transform().setRotation(angle); layer2.transform().setRotation(angle); layer3.transform().setRotation(angle); layer0.transform().setScale(scale); layer1.transform().setScale(scale); layer2.transform().setScale(scale); layer3.transform().setScale(scale); groupLayer.transform().setRotation(angle); groupLayer.transform().setScale(scale); } @Override public void paint(float alpha) { } @Override public void onPointerStart(float x, float y) { doStuff(); } @Override public void onPointerEnd(float x, float y) { } @Override public void onPointerDrag(float x, float y) { } @Override public void onKeyDown(int keyCode) { } @Override public void onKeyUp(int keyCode) { } @Override public int updateRate() { return 33; } }