// // Created by Wouter Groeneveld on 28/07/18. // #include #include #include #include #include "flying_stuff_scene.h" #include "kul.h" std::vector FlyingStuffScene::sprites() { return { smiley.get(), kul.get(), kulFlying.get(), player.get() }; } std::vector FlyingStuffScene::backgrounds() { return { bg.get() }; } void FlyingStuffScene::load() { foregroundPalette = std::unique_ptr(new ForegroundPaletteManager(sharedPal, sizeof(sharedPal))); backgroundPalette = std::unique_ptr(new BackgroundPaletteManager(bg_palette, sizeof(bg_palette))); SpriteBuilder builder; SpriteBuilder affineBuilder; smiley = builder .withData(piskelTiles, sizeof(piskelTiles)) .withSize(SIZE_16_16) .withLocation(10, 10) .buildPtr(); kul = builder .withData(kulTiles, sizeof(kulTiles)) .withSize(SIZE_64_32) .withLocation(30, 30) .buildPtr(); kulFlying = affineBuilder .withData(kulTiles, sizeof(kulTiles)) .withSize(SIZE_64_32) .withLocation(100, 50) .withVelocity(1, 1) .buildPtr(); player = affineBuilder .withData(piskel2Tiles, sizeof(piskel2Tiles)) .withSize(SIZE_16_16) .withLocation(150, 60) .buildPtr(); TextStream::instance() << "level 1 ofwa" << "ziet da af"; bg = std::unique_ptr(new Background(1, background_data, sizeof(background_data), map, sizeof(map))); bg.get()->useMapScreenBlock(16); } void FlyingStuffScene::tick(u16 i) { scrollX += 1; rotation += rotationDiff; kulFlying.get()->rotate(rotation); player.get()->rotate(rotation); bg.get()->scroll(scrollX, scrollY); }