Code edit (1 edits merged)
Please save this source code
User prompt
Bing Bunny TV Adventure
Initial prompt
Toca check it 1.4 tv (2012). The powerpuff girls have a tv to watch. Tap on the green play or continue or again button to make the tv come to life or continue the story or watch the story again. It will be a story movie called “Bing bunny: Sula’s pet dog”. They be sula plays fetch the stick with her dog scene at scene 1, sula with her flying dog and Bing is flying scene at scene 2, Sula’s dog is sleeping scene at scene 3, it morning scene at scene 4, Sula and Bing makes Sula’s dog’s house untidy scene at scene 5, Sula’s dog is afraid and crying with tears for his untidy room scene at scene 6, Sula and Bing are making Sula’s dog’s room untidy into tidy scene at scene 7, Sula’s dog is happy scene at scene 8 for end.
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var TVShow = Container.expand(function () { var self = Container.call(this); // TV Frame and Screen var tvFrame = self.attachAsset('tvFrame', { anchorX: 0.5, anchorY: 0.5 }); var tvScreen = self.attachAsset('tvScreen', { anchorX: 0.5, anchorY: 0.5 }); // Play Button var playButton = self.attachAsset('playButton', { anchorX: 0.5, anchorY: 0.5, y: 400 }); var buttonText = new Text2('PLAY', { size: 60, fill: 0x000000 }); buttonText.anchor.set(0.5, 0.5); buttonText.y = 400; self.addChild(buttonText); // Scene content container var sceneContainer = new Container(); self.addChild(sceneContainer); self.currentScene = 0; self.totalScenes = 8; // Scene creation functions function createScene1() { sceneContainer.removeChildren(); var sula = sceneContainer.attachAsset('sula', { anchorX: 0.5, anchorY: 0.5, x: -200, y: 100 }); var dog = sceneContainer.attachAsset('dog', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 150 }); var ball = sceneContainer.attachAsset('ball', { anchorX: 0.5, anchorY: 0.5, x: 200, y: 100 }); var sceneText = new Text2('Scene 1: Playing Fetch', { size: 80, fill: 0xFFFFFF }); sceneText.anchor.set(0.5, 0.5); sceneText.y = -300; sceneContainer.addChild(sceneText); // Simple animation tween(ball, { x: -150 }, { duration: 1000, easing: tween.easeInOut }); tween(dog, { x: -150 }, { duration: 1200, easing: tween.easeInOut }); } function createScene2() { sceneContainer.removeChildren(); var sula = sceneContainer.attachAsset('sula', { anchorX: 0.5, anchorY: 0.5, x: -100, y: 0 }); var dog = sceneContainer.attachAsset('dog', { anchorX: 0.5, anchorY: 0.5, x: 100, y: 0 }); var cloud = sceneContainer.attachAsset('cloud', { anchorX: 0.5, anchorY: 0.5, x: 0, y: -200 }); var sceneText = new Text2('Scene 2: Flying High', { size: 80, fill: 0xFFFFFF }); sceneText.anchor.set(0.5, 0.5); sceneText.y = -350; sceneContainer.addChild(sceneText); // Flying animation tween(sula, { y: -150 }, { duration: 1500, easing: tween.easeInOut }); tween(dog, { y: -150 }, { duration: 1500, easing: tween.easeInOut }); } function createScene3() { sceneContainer.removeChildren(); var bed = sceneContainer.attachAsset('bed', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 100 }); var dog = sceneContainer.attachAsset('dog', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 50 }); var sceneText = new Text2('Scene 3: Sleepy Time', { size: 80, fill: 0xFFFFFF }); sceneText.anchor.set(0.5, 0.5); sceneText.y = -300; sceneContainer.addChild(sceneText); // Sleeping animation tween(dog, { alpha: 0.7 }, { duration: 1000, easing: tween.easeInOut }); } function createScene4() { sceneContainer.removeChildren(); var sun = sceneContainer.attachAsset('sun', { anchorX: 0.5, anchorY: 0.5, x: 200, y: -200 }); var dog = sceneContainer.attachAsset('dog', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 100 }); var sceneText = new Text2('Scene 4: Good Morning!', { size: 80, fill: 0xFFFFFF }); sceneText.anchor.set(0.5, 0.5); sceneText.y = -350; sceneContainer.addChild(sceneText); // Morning animation tween(sun, { rotation: Math.PI * 2 }, { duration: 2000, easing: tween.linear }); } function createScene5() { sceneContainer.removeChildren(); var dog = sceneContainer.attachAsset('dog', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 50 }); var mess1 = sceneContainer.attachAsset('mess', { anchorX: 0.5, anchorY: 0.5, x: -150, y: 200 }); var mess2 = sceneContainer.attachAsset('mess', { anchorX: 0.5, anchorY: 0.5, x: 150, y: 200 }); var mess3 = sceneContainer.attachAsset('mess', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 250 }); var sceneText = new Text2('Scene 5: Making a Mess', { size: 80, fill: 0xFFFFFF }); sceneText.anchor.set(0.5, 0.5); sceneText.y = -300; sceneContainer.addChild(sceneText); // Mess animation tween(dog, { x: -100 }, { duration: 800, easing: tween.easeInOut }); setTimeout(function () { tween(dog, { x: 100 }, { duration: 800, easing: tween.easeInOut }); }, 800); } function createScene6() { sceneContainer.removeChildren(); var dog = sceneContainer.attachAsset('dog', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 50 }); var tear1 = sceneContainer.attachAsset('tear', { anchorX: 0.5, anchorY: 0.5, x: -30, y: 0 }); var tear2 = sceneContainer.attachAsset('tear', { anchorX: 0.5, anchorY: 0.5, x: 30, y: 0 }); var sceneText = new Text2('Scene 6: Dog is Upset', { size: 80, fill: 0xFFFFFF }); sceneText.anchor.set(0.5, 0.5); sceneText.y = -300; sceneContainer.addChild(sceneText); // Crying animation tween(tear1, { y: 150 }, { duration: 1500, easing: tween.easeIn }); tween(tear2, { y: 150 }, { duration: 1500, easing: tween.easeIn }); } function createScene7() { sceneContainer.removeChildren(); var sula = sceneContainer.attachAsset('sula', { anchorX: 0.5, anchorY: 0.5, x: -150, y: 50 }); var dog = sceneContainer.attachAsset('dog', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 50 }); var bing = sceneContainer.attachAsset('bing', { anchorX: 0.5, anchorY: 0.5, x: 150, y: 50 }); var broom = sceneContainer.attachAsset('broom', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 200 }); var sceneText = new Text2('Scene 7: Cleaning Together', { size: 80, fill: 0xFFFFFF }); sceneText.anchor.set(0.5, 0.5); sceneText.y = -300; sceneContainer.addChild(sceneText); // Cleaning animation tween(broom, { rotation: Math.PI / 6 }, { duration: 500, easing: tween.easeInOut }); setTimeout(function () { tween(broom, { rotation: -Math.PI / 6 }, { duration: 500, easing: tween.easeInOut }); }, 500); } function createScene8() { sceneContainer.removeChildren(); var sula = sceneContainer.attachAsset('sula', { anchorX: 0.5, anchorY: 0.5, x: -150, y: 50 }); var dog = sceneContainer.attachAsset('dog', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 50 }); var bing = sceneContainer.attachAsset('bing', { anchorX: 0.5, anchorY: 0.5, x: 150, y: 50 }); var heart1 = sceneContainer.attachAsset('heart', { anchorX: 0.5, anchorY: 0.5, x: -50, y: -100 }); var heart2 = sceneContainer.attachAsset('heart', { anchorX: 0.5, anchorY: 0.5, x: 50, y: -100 }); var sceneText = new Text2('Scene 8: Happy Ending!', { size: 80, fill: 0xFFFFFF }); sceneText.anchor.set(0.5, 0.5); sceneText.y = -300; sceneContainer.addChild(sceneText); // Happy animation tween(heart1, { y: -200 }, { duration: 1000, easing: tween.easeOut }); tween(heart2, { y: -200 }, { duration: 1000, easing: tween.easeOut }); // Change button text to "PLAY AGAIN" buttonText.setText('PLAY AGAIN'); } self.scenes = [createScene1, createScene2, createScene3, createScene4, createScene5, createScene6, createScene7, createScene8]; self.nextScene = function () { if (self.currentScene < self.totalScenes) { self.scenes[self.currentScene](); self.currentScene++; if (self.currentScene < self.totalScenes) { buttonText.setText('CONTINUE'); } else { buttonText.setText('PLAY AGAIN'); } } else { // Restart the story self.currentScene = 0; buttonText.setText('PLAY'); sceneContainer.removeChildren(); var titleText = new Text2('Bing Bunny:\nSula\'s Pet Dog', { size: 100, fill: 0xFFFFFF }); titleText.anchor.set(0.5, 0.5); titleText.y = 0; sceneContainer.addChild(titleText); } }; // Initial title screen var titleText = new Text2('Bing Bunny:\nSula\'s Pet Dog', { size: 100, fill: 0xFFFFFF }); titleText.anchor.set(0.5, 0.5); titleText.y = 0; sceneContainer.addChild(titleText); // Button press handler playButton.down = function (x, y, obj) { LK.getSound('tap').play(); // Button press animation tween(playButton, { scaleX: 0.9, scaleY: 0.9 }, { duration: 100, easing: tween.easeInOut }); tween(buttonText, { scaleX: 0.9, scaleY: 0.9 }, { duration: 100, easing: tween.easeInOut }); setTimeout(function () { tween(playButton, { scaleX: 1, scaleY: 1 }, { duration: 100, easing: tween.easeInOut }); tween(buttonText, { scaleX: 1, scaleY: 1 }, { duration: 100, easing: tween.easeInOut }); }, 100); self.nextScene(); if (self.currentScene === self.totalScenes) { LK.getSound('happy').play(); } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x4a90e2 }); /**** * Game Code ****/ var tvShow = game.addChild(new TVShow()); tvShow.x = 2048 / 2; tvShow.y = 2732 / 2; // Title text var titleText = new Text2('Bing Bunny TV Adventure', { size: 120, fill: 0xFFFFFF }); titleText.anchor.set(0.5, 0); LK.gui.top.addChild(titleText); titleText.y = 100; game.update = function () { // Game logic handled by the TVShow class };
===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,470 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+var TVShow = Container.expand(function () {
+ var self = Container.call(this);
+ // TV Frame and Screen
+ var tvFrame = self.attachAsset('tvFrame', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ var tvScreen = self.attachAsset('tvScreen', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ // Play Button
+ var playButton = self.attachAsset('playButton', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ y: 400
+ });
+ var buttonText = new Text2('PLAY', {
+ size: 60,
+ fill: 0x000000
+ });
+ buttonText.anchor.set(0.5, 0.5);
+ buttonText.y = 400;
+ self.addChild(buttonText);
+ // Scene content container
+ var sceneContainer = new Container();
+ self.addChild(sceneContainer);
+ self.currentScene = 0;
+ self.totalScenes = 8;
+ // Scene creation functions
+ function createScene1() {
+ sceneContainer.removeChildren();
+ var sula = sceneContainer.attachAsset('sula', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: -200,
+ y: 100
+ });
+ var dog = sceneContainer.attachAsset('dog', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 150
+ });
+ var ball = sceneContainer.attachAsset('ball', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 200,
+ y: 100
+ });
+ var sceneText = new Text2('Scene 1: Playing Fetch', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ sceneText.anchor.set(0.5, 0.5);
+ sceneText.y = -300;
+ sceneContainer.addChild(sceneText);
+ // Simple animation
+ tween(ball, {
+ x: -150
+ }, {
+ duration: 1000,
+ easing: tween.easeInOut
+ });
+ tween(dog, {
+ x: -150
+ }, {
+ duration: 1200,
+ easing: tween.easeInOut
+ });
+ }
+ function createScene2() {
+ sceneContainer.removeChildren();
+ var sula = sceneContainer.attachAsset('sula', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: -100,
+ y: 0
+ });
+ var dog = sceneContainer.attachAsset('dog', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 100,
+ y: 0
+ });
+ var cloud = sceneContainer.attachAsset('cloud', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: -200
+ });
+ var sceneText = new Text2('Scene 2: Flying High', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ sceneText.anchor.set(0.5, 0.5);
+ sceneText.y = -350;
+ sceneContainer.addChild(sceneText);
+ // Flying animation
+ tween(sula, {
+ y: -150
+ }, {
+ duration: 1500,
+ easing: tween.easeInOut
+ });
+ tween(dog, {
+ y: -150
+ }, {
+ duration: 1500,
+ easing: tween.easeInOut
+ });
+ }
+ function createScene3() {
+ sceneContainer.removeChildren();
+ var bed = sceneContainer.attachAsset('bed', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 100
+ });
+ var dog = sceneContainer.attachAsset('dog', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 50
+ });
+ var sceneText = new Text2('Scene 3: Sleepy Time', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ sceneText.anchor.set(0.5, 0.5);
+ sceneText.y = -300;
+ sceneContainer.addChild(sceneText);
+ // Sleeping animation
+ tween(dog, {
+ alpha: 0.7
+ }, {
+ duration: 1000,
+ easing: tween.easeInOut
+ });
+ }
+ function createScene4() {
+ sceneContainer.removeChildren();
+ var sun = sceneContainer.attachAsset('sun', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 200,
+ y: -200
+ });
+ var dog = sceneContainer.attachAsset('dog', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 100
+ });
+ var sceneText = new Text2('Scene 4: Good Morning!', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ sceneText.anchor.set(0.5, 0.5);
+ sceneText.y = -350;
+ sceneContainer.addChild(sceneText);
+ // Morning animation
+ tween(sun, {
+ rotation: Math.PI * 2
+ }, {
+ duration: 2000,
+ easing: tween.linear
+ });
+ }
+ function createScene5() {
+ sceneContainer.removeChildren();
+ var dog = sceneContainer.attachAsset('dog', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 50
+ });
+ var mess1 = sceneContainer.attachAsset('mess', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: -150,
+ y: 200
+ });
+ var mess2 = sceneContainer.attachAsset('mess', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 150,
+ y: 200
+ });
+ var mess3 = sceneContainer.attachAsset('mess', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 250
+ });
+ var sceneText = new Text2('Scene 5: Making a Mess', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ sceneText.anchor.set(0.5, 0.5);
+ sceneText.y = -300;
+ sceneContainer.addChild(sceneText);
+ // Mess animation
+ tween(dog, {
+ x: -100
+ }, {
+ duration: 800,
+ easing: tween.easeInOut
+ });
+ setTimeout(function () {
+ tween(dog, {
+ x: 100
+ }, {
+ duration: 800,
+ easing: tween.easeInOut
+ });
+ }, 800);
+ }
+ function createScene6() {
+ sceneContainer.removeChildren();
+ var dog = sceneContainer.attachAsset('dog', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 50
+ });
+ var tear1 = sceneContainer.attachAsset('tear', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: -30,
+ y: 0
+ });
+ var tear2 = sceneContainer.attachAsset('tear', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 30,
+ y: 0
+ });
+ var sceneText = new Text2('Scene 6: Dog is Upset', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ sceneText.anchor.set(0.5, 0.5);
+ sceneText.y = -300;
+ sceneContainer.addChild(sceneText);
+ // Crying animation
+ tween(tear1, {
+ y: 150
+ }, {
+ duration: 1500,
+ easing: tween.easeIn
+ });
+ tween(tear2, {
+ y: 150
+ }, {
+ duration: 1500,
+ easing: tween.easeIn
+ });
+ }
+ function createScene7() {
+ sceneContainer.removeChildren();
+ var sula = sceneContainer.attachAsset('sula', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: -150,
+ y: 50
+ });
+ var dog = sceneContainer.attachAsset('dog', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 50
+ });
+ var bing = sceneContainer.attachAsset('bing', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 150,
+ y: 50
+ });
+ var broom = sceneContainer.attachAsset('broom', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 200
+ });
+ var sceneText = new Text2('Scene 7: Cleaning Together', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ sceneText.anchor.set(0.5, 0.5);
+ sceneText.y = -300;
+ sceneContainer.addChild(sceneText);
+ // Cleaning animation
+ tween(broom, {
+ rotation: Math.PI / 6
+ }, {
+ duration: 500,
+ easing: tween.easeInOut
+ });
+ setTimeout(function () {
+ tween(broom, {
+ rotation: -Math.PI / 6
+ }, {
+ duration: 500,
+ easing: tween.easeInOut
+ });
+ }, 500);
+ }
+ function createScene8() {
+ sceneContainer.removeChildren();
+ var sula = sceneContainer.attachAsset('sula', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: -150,
+ y: 50
+ });
+ var dog = sceneContainer.attachAsset('dog', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 0,
+ y: 50
+ });
+ var bing = sceneContainer.attachAsset('bing', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 150,
+ y: 50
+ });
+ var heart1 = sceneContainer.attachAsset('heart', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: -50,
+ y: -100
+ });
+ var heart2 = sceneContainer.attachAsset('heart', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 50,
+ y: -100
+ });
+ var sceneText = new Text2('Scene 8: Happy Ending!', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ sceneText.anchor.set(0.5, 0.5);
+ sceneText.y = -300;
+ sceneContainer.addChild(sceneText);
+ // Happy animation
+ tween(heart1, {
+ y: -200
+ }, {
+ duration: 1000,
+ easing: tween.easeOut
+ });
+ tween(heart2, {
+ y: -200
+ }, {
+ duration: 1000,
+ easing: tween.easeOut
+ });
+ // Change button text to "PLAY AGAIN"
+ buttonText.setText('PLAY AGAIN');
+ }
+ self.scenes = [createScene1, createScene2, createScene3, createScene4, createScene5, createScene6, createScene7, createScene8];
+ self.nextScene = function () {
+ if (self.currentScene < self.totalScenes) {
+ self.scenes[self.currentScene]();
+ self.currentScene++;
+ if (self.currentScene < self.totalScenes) {
+ buttonText.setText('CONTINUE');
+ } else {
+ buttonText.setText('PLAY AGAIN');
+ }
+ } else {
+ // Restart the story
+ self.currentScene = 0;
+ buttonText.setText('PLAY');
+ sceneContainer.removeChildren();
+ var titleText = new Text2('Bing Bunny:\nSula\'s Pet Dog', {
+ size: 100,
+ fill: 0xFFFFFF
+ });
+ titleText.anchor.set(0.5, 0.5);
+ titleText.y = 0;
+ sceneContainer.addChild(titleText);
+ }
+ };
+ // Initial title screen
+ var titleText = new Text2('Bing Bunny:\nSula\'s Pet Dog', {
+ size: 100,
+ fill: 0xFFFFFF
+ });
+ titleText.anchor.set(0.5, 0.5);
+ titleText.y = 0;
+ sceneContainer.addChild(titleText);
+ // Button press handler
+ playButton.down = function (x, y, obj) {
+ LK.getSound('tap').play();
+ // Button press animation
+ tween(playButton, {
+ scaleX: 0.9,
+ scaleY: 0.9
+ }, {
+ duration: 100,
+ easing: tween.easeInOut
+ });
+ tween(buttonText, {
+ scaleX: 0.9,
+ scaleY: 0.9
+ }, {
+ duration: 100,
+ easing: tween.easeInOut
+ });
+ setTimeout(function () {
+ tween(playButton, {
+ scaleX: 1,
+ scaleY: 1
+ }, {
+ duration: 100,
+ easing: tween.easeInOut
+ });
+ tween(buttonText, {
+ scaleX: 1,
+ scaleY: 1
+ }, {
+ duration: 100,
+ easing: tween.easeInOut
+ });
+ }, 100);
+ self.nextScene();
+ if (self.currentScene === self.totalScenes) {
+ LK.getSound('happy').play();
+ }
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x4a90e2
+});
+
+/****
+* Game Code
+****/
+var tvShow = game.addChild(new TVShow());
+tvShow.x = 2048 / 2;
+tvShow.y = 2732 / 2;
+// Title text
+var titleText = new Text2('Bing Bunny TV Adventure', {
+ size: 120,
+ fill: 0xFFFFFF
+});
+titleText.anchor.set(0.5, 0);
+LK.gui.top.addChild(titleText);
+titleText.y = 100;
+game.update = function () {
+ // Game logic handled by the TVShow class
+};
\ No newline at end of file