package greenfoot.importer.scratch;

import java.util.LinkedList;
import java.util.List;


| Mirrors the Scratch ScratchStageMorph class, which is the equivalent of World. | @author neil | public class ScratchStageMorph extends ScriptableScratchMorph{ public ScratchStageMorph(int version, List<ScratchObject> scratchObjects) { super(ScratchUserObject.SCRATCH_STAGE_MORPH, version, scratchObjects); } @Override public int fields() { return super.fields() + 9; } ScratchObjectArray getSprites() { return (ScratchObjectArray)scratchObjects.get(super.fields() + 4); } @Override protected void constructorContents(StringBuilder acc) { ImageMedia image = getCostume(); acc.append("super(").append(image.getWidth()).append(", ").append(image.getHeight()).append(", 1);\n"); LinkedList<String> classes = new LinkedList<String>(); ScratchObjectArray sprites = getSprites(); for (ScratchObject o : sprites.getValue()) { ScratchSpriteMorph sprite = (ScratchSpriteMorph)o; String spriteName = sprite.getObjNameJava(); acc.append("addObject(new ").append(spriteName).append("(), "); acc.append(sprite.getGreenfootCentre().x.intValue()); acc.append(", "); acc.append(sprite.getGreenfootCentre().y.intValue()); acc.append(");\n"); classes.addFirst(spriteName); } if (!classes.isEmpty()) { acc.append("setPaintOrder(Bubble.class"); for (String cls : classes) { acc.append(", ").append(cls).append(".class"); } acc.append(");\n"); } } @Override protected String greenfootSuperClass() { return "World"; } }
top, use, map, class ScratchStageMorph

.   ScratchStageMorph
.   fields
.   constructorContents
.   greenfootSuperClass




79 neLoCode + 2 LoComm