本文整理汇总了Java中org.newdawn.slick.geom.MorphShape类的典型用法代码示例。如果您正苦于以下问题:Java MorphShape类的具体用法?Java MorphShape怎么用?Java MorphShape使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MorphShape类属于org.newdawn.slick.geom包,在下文中一共展示了MorphShape类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addStep
import org.newdawn.slick.geom.MorphShape; //导入依赖的package包/类
/**
* Add a subsquent step to the morphing
*
* @param diagram The diagram to add as the next step in the morph
*/
public void addStep(Diagram diagram) {
if (diagram.getFigureCount() != figures.size()) {
throw new RuntimeException("Mismatched diagrams, missing ids");
}
for (int i=0;i<diagram.getFigureCount();i++) {
Figure figure = diagram.getFigure(i);
String id = figure.getData().getMetaData();
for (int j=0;j<figures.size();j++) {
Figure existing = (Figure) figures.get(j);
if (existing.getData().getMetaData().equals(id)) {
MorphShape morph = (MorphShape) existing.getShape();
morph.addShape(figure.getShape());
break;
}
}
}
}
示例2: SVGMorph
import org.newdawn.slick.geom.MorphShape; //导入依赖的package包/类
/**
* Create a new morph with a first diagram base
*
* @param diagram The base diagram which provides the first step of the morph
*/
public SVGMorph(Diagram diagram) {
super(diagram.getWidth(), diagram.getHeight());
for (int i=0;i<diagram.getFigureCount();i++) {
Figure figure = diagram.getFigure(i);
Figure copy = new Figure(figure.getType(), new MorphShape(figure.getShape()), figure.getData(), figure.getTransform());
figures.add(copy);
}
}
示例3: setExternalDiagram
import org.newdawn.slick.geom.MorphShape; //导入依赖的package包/类
/**
* Set the current diagram we should morph from. This only really works with
* updateMorphTime() but can be used for smooth transitions between
* morphs.
*
* @param diagram The diagram to use as the base of the morph
*/
public void setExternalDiagram(Diagram diagram) {
for (int i=0;i<figures.size();i++) {
Figure figure = (Figure) figures.get(i);
for (int j=0;j<diagram.getFigureCount();j++) {
Figure newBase = diagram.getFigure(j);
if (newBase.getData().getMetaData().equals(figure.getData().getMetaData())) {
MorphShape shape = (MorphShape) figure.getShape();
shape.setExternalFrame(newBase.getShape());
break;
}
}
}
}
示例4: updateMorphTime
import org.newdawn.slick.geom.MorphShape; //导入依赖的package包/类
/**
* Update the morph time index by the amount specified
*
* @param delta The amount to update the morph by
*/
public void updateMorphTime(float delta) {
for (int i=0;i<figures.size();i++) {
Figure figure = (Figure) figures.get(i);
MorphShape shape = (MorphShape) figure.getShape();
shape.updateMorphTime(delta);
}
}
示例5: setMorphTime
import org.newdawn.slick.geom.MorphShape; //导入依赖的package包/类
/**
* Set the "time" index for this morph. This is given in terms of diagrams, so
* 0.5f would give you the position half way between the first and second diagrams.
*
* @param time The time index to represent on this diagrams
*/
public void setMorphTime(float time) {
for (int i=0;i<figures.size();i++) {
Figure figure = (Figure) figures.get(i);
MorphShape shape = (MorphShape) figure.getShape();
shape.setMorphTime(time);
}
}
示例6: init
import org.newdawn.slick.geom.MorphShape; //导入依赖的package包/类
/**
* @see BasicGame#init(GameContainer)
*/
public void init(GameContainer container) throws SlickException {
a = new Rectangle(100,100,50,200);
a = a.transform(Transform.createRotateTransform(0.1f,100,100));
b = new Rectangle(200,100,50,200);
b = b.transform(Transform.createRotateTransform(-0.6f,100,100));
c = new Rectangle(300,100,50,200);
c = c.transform(Transform.createRotateTransform(-0.2f,100,100));
morph = new MorphShape(a);
morph.addShape(b);
morph.addShape(c);
container.setVSync(true);
}