Code edit (1 edits merged)
Please save this source code
User prompt
Powerpuff Girls Dress-Up Adventure
Initial prompt
Toca dressing up (2001). The powerpuff girls had a dressing up box. Tap on level 1 police officer, level 2 doctor, level 3 detective, level 4 gunner, or level 5 glasses to get started. Tap on the clothes onto blossom, or bubbles, or buttercup.
/**** * Classes ****/ var CharacterButton = Container.expand(function (characterType, characterName) { var self = Container.call(this); self.characterType = characterType; self.characterName = characterName; var buttonBg = self.attachAsset('characterButton', { anchorX: 0.5, anchorY: 0.5 }); var characterPreview = self.attachAsset(characterType, { anchorX: 0.5, anchorY: 0.5, scaleX: 0.3, scaleY: 0.3 }); var nameText = new Text2(characterName, { size: 30, fill: 0xFFFFFF }); nameText.anchor.set(0.5, 0.5); nameText.y = 80; self.addChild(nameText); self.down = function (x, y, obj) { LK.getSound('select').play(); selectedCharacter = self.characterType; gameState = 'dressUp'; showDressUpScreen(); }; return self; }); var ClothingItem = Container.expand(function (itemType, itemName) { var self = Container.call(this); self.itemType = itemType; self.itemName = itemName; self.originalX = 0; self.originalY = 0; var itemBg = self.attachAsset('clothingSlot', { anchorX: 0.5, anchorY: 0.5 }); var itemGraphic = self.attachAsset(itemType, { anchorX: 0.5, anchorY: 0.5, scaleX: 0.4, scaleY: 0.4 }); self.down = function (x, y, obj) { if (gameState === 'dressUp') { draggedItem = self; self.originalX = self.x; self.originalY = self.y; } }; return self; }); var DressedCharacter = Container.expand(function (characterType) { var self = Container.call(this); self.characterType = characterType; self.equippedItems = {}; var characterBase = self.attachAsset(characterType, { anchorX: 0.5, anchorY: 0.5 }); self.equipItem = function (itemType, itemName) { if (self.equippedItems[itemName]) { self.removeChild(self.equippedItems[itemName]); } var equippedItem = self.attachAsset(itemType, { anchorX: 0.5, anchorY: 0.5 }); // Position items based on type if (itemType.includes('Hat') || itemType.includes('Glasses')) { equippedItem.y = -200; } else if (itemType.includes('Shirt') || itemType.includes('Coat') || itemType.includes('Vest') || itemType.includes('sweater')) { equippedItem.y = -50; } else if (itemType.includes('Pants') || itemType.includes('skirt')) { equippedItem.y = 150; } else if (itemType.includes('Badge') || itemType.includes('stethoscope') || itemType.includes('magnifyingGlass')) { equippedItem.x = 100; equippedItem.y = 0; } self.equippedItems[itemName] = equippedItem; LK.getSound('dress').play(); }; return self; }); var LevelButton = Container.expand(function (levelType, levelName) { var self = Container.call(this); self.levelType = levelType; self.levelName = levelName; var buttonBg = self.attachAsset('levelButton', { anchorX: 0.5, anchorY: 0.5 }); var buttonText = new Text2(levelName, { size: 40, fill: 0xFFFFFF }); buttonText.anchor.set(0.5, 0.5); self.addChild(buttonText); self.down = function (x, y, obj) { LK.getSound('select').play(); gameState = 'characterSelect'; selectedLevel = self.levelType; showCharacterSelection(); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB }); /**** * Game Code ****/ // UI elements // Clothing items - Glasses // Clothing items - Gunner // Clothing items - Detective // Clothing items - Doctor // Clothing items - Police // Profession level backgrounds // Character bases var gameState = 'levelSelect'; // 'levelSelect', 'characterSelect', 'dressUp' var selectedLevel = ''; var selectedCharacter = ''; var draggedItem = null; var dressedCharacter = null; // Game containers var levelSelectContainer = new Container(); var characterSelectContainer = new Container(); var dressUpContainer = new Container(); // Level data var levels = [{ type: 'police', name: 'Police Officer', items: ['policeHat', 'policeShirt', 'policePants', 'policeBadge'] }, { type: 'doctor', name: 'Doctor', items: ['doctorHat', 'doctorCoat', 'stethoscope'] }, { type: 'detective', name: 'Detective', items: ['detectiveHat', 'detectiveCoat', 'magnifyingGlass'] }, { type: 'gunner', name: 'Gunner', items: ['gunnerHat', 'gunnerVest', 'gunnerPants'] }, { type: 'glasses', name: 'Scholar', items: ['nerdGlasses', 'sweater', 'skirt'] }]; var characters = [{ type: 'blossom', name: 'Blossom' }, { type: 'bubbles', name: 'Bubbles' }, { type: 'buttercup', name: 'Buttercup' }]; // Initialize level selection screen function showLevelSelection() { game.removeChildren(); levelSelectContainer.removeChildren(); var titleText = new Text2('Choose Your Profession', { size: 80, fill: 0xFFFFFF }); titleText.anchor.set(0.5, 0.5); titleText.x = 1024; titleText.y = 300; levelSelectContainer.addChild(titleText); for (var i = 0; i < levels.length; i++) { var levelButton = new LevelButton(levels[i].type, levels[i].name); levelButton.x = 1024; levelButton.y = 500 + i * 200; levelSelectContainer.addChild(levelButton); } game.addChild(levelSelectContainer); } // Initialize character selection screen function showCharacterSelection() { game.removeChildren(); characterSelectContainer.removeChildren(); var titleText = new Text2('Choose Your Character', { size: 80, fill: 0xFFFFFF }); titleText.anchor.set(0.5, 0.5); titleText.x = 1024; titleText.y = 400; characterSelectContainer.addChild(titleText); for (var i = 0; i < characters.length; i++) { var characterButton = new CharacterButton(characters[i].type, characters[i].name); characterButton.x = 400 + i * 400; characterButton.y = 800; characterSelectContainer.addChild(characterButton); } // Back button var backButton = new LevelButton('back', 'Back to Levels'); backButton.x = 1024; backButton.y = 1200; backButton.down = function () { gameState = 'levelSelect'; showLevelSelection(); }; characterSelectContainer.addChild(backButton); game.addChild(characterSelectContainer); } // Initialize dress-up screen function showDressUpScreen() { game.removeChildren(); dressUpContainer.removeChildren(); // Add background based on selected level var levelData = levels.find(function (level) { return level.type === selectedLevel; }); var background = LK.getAsset(selectedLevel + 'Level', { anchorX: 0, anchorY: 0, alpha: 0.3 }); dressUpContainer.addChild(background); // Create dressed character dressedCharacter = new DressedCharacter(selectedCharacter); dressedCharacter.x = 1024; dressedCharacter.y = 1000; dressUpContainer.addChild(dressedCharacter); // Create clothing items panel var clothingPanel = new Container(); clothingPanel.x = 100; clothingPanel.y = 400; for (var i = 0; i < levelData.items.length; i++) { var clothingItem = new ClothingItem(levelData.items[i], levelData.items[i]); clothingItem.x = i % 3 * 200; clothingItem.y = Math.floor(i / 3) * 200; clothingPanel.addChild(clothingItem); } dressUpContainer.addChild(clothingPanel); // Back button var backButton = new LevelButton('back', 'Back'); backButton.x = 1024; backButton.y = 200; backButton.down = function () { gameState = 'characterSelect'; showCharacterSelection(); }; dressUpContainer.addChild(backButton); game.addChild(dressUpContainer); } // Handle dragging game.move = function (x, y, obj) { if (draggedItem && gameState === 'dressUp') { draggedItem.x = x; draggedItem.y = y; } }; game.up = function (x, y, obj) { if (draggedItem && gameState === 'dressUp') { // Check if item was dropped on character if (dressedCharacter && draggedItem.intersects(dressedCharacter)) { dressedCharacter.equipItem(draggedItem.itemType, draggedItem.itemName); } // Return item to original position draggedItem.x = draggedItem.originalX; draggedItem.y = draggedItem.originalY; draggedItem = null; } }; // Start the game showLevelSelection();
===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,282 @@
-/****
+/****
+* Classes
+****/
+var CharacterButton = Container.expand(function (characterType, characterName) {
+ var self = Container.call(this);
+ self.characterType = characterType;
+ self.characterName = characterName;
+ var buttonBg = self.attachAsset('characterButton', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ var characterPreview = self.attachAsset(characterType, {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 0.3,
+ scaleY: 0.3
+ });
+ var nameText = new Text2(characterName, {
+ size: 30,
+ fill: 0xFFFFFF
+ });
+ nameText.anchor.set(0.5, 0.5);
+ nameText.y = 80;
+ self.addChild(nameText);
+ self.down = function (x, y, obj) {
+ LK.getSound('select').play();
+ selectedCharacter = self.characterType;
+ gameState = 'dressUp';
+ showDressUpScreen();
+ };
+ return self;
+});
+var ClothingItem = Container.expand(function (itemType, itemName) {
+ var self = Container.call(this);
+ self.itemType = itemType;
+ self.itemName = itemName;
+ self.originalX = 0;
+ self.originalY = 0;
+ var itemBg = self.attachAsset('clothingSlot', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ var itemGraphic = self.attachAsset(itemType, {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 0.4,
+ scaleY: 0.4
+ });
+ self.down = function (x, y, obj) {
+ if (gameState === 'dressUp') {
+ draggedItem = self;
+ self.originalX = self.x;
+ self.originalY = self.y;
+ }
+ };
+ return self;
+});
+var DressedCharacter = Container.expand(function (characterType) {
+ var self = Container.call(this);
+ self.characterType = characterType;
+ self.equippedItems = {};
+ var characterBase = self.attachAsset(characterType, {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.equipItem = function (itemType, itemName) {
+ if (self.equippedItems[itemName]) {
+ self.removeChild(self.equippedItems[itemName]);
+ }
+ var equippedItem = self.attachAsset(itemType, {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ // Position items based on type
+ if (itemType.includes('Hat') || itemType.includes('Glasses')) {
+ equippedItem.y = -200;
+ } else if (itemType.includes('Shirt') || itemType.includes('Coat') || itemType.includes('Vest') || itemType.includes('sweater')) {
+ equippedItem.y = -50;
+ } else if (itemType.includes('Pants') || itemType.includes('skirt')) {
+ equippedItem.y = 150;
+ } else if (itemType.includes('Badge') || itemType.includes('stethoscope') || itemType.includes('magnifyingGlass')) {
+ equippedItem.x = 100;
+ equippedItem.y = 0;
+ }
+ self.equippedItems[itemName] = equippedItem;
+ LK.getSound('dress').play();
+ };
+ return self;
+});
+var LevelButton = Container.expand(function (levelType, levelName) {
+ var self = Container.call(this);
+ self.levelType = levelType;
+ self.levelName = levelName;
+ var buttonBg = self.attachAsset('levelButton', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ var buttonText = new Text2(levelName, {
+ size: 40,
+ fill: 0xFFFFFF
+ });
+ buttonText.anchor.set(0.5, 0.5);
+ self.addChild(buttonText);
+ self.down = function (x, y, obj) {
+ LK.getSound('select').play();
+ gameState = 'characterSelect';
+ selectedLevel = self.levelType;
+ showCharacterSelection();
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x87CEEB
+});
+
+/****
+* Game Code
+****/
+// UI elements
+// Clothing items - Glasses
+// Clothing items - Gunner
+// Clothing items - Detective
+// Clothing items - Doctor
+// Clothing items - Police
+// Profession level backgrounds
+// Character bases
+var gameState = 'levelSelect'; // 'levelSelect', 'characterSelect', 'dressUp'
+var selectedLevel = '';
+var selectedCharacter = '';
+var draggedItem = null;
+var dressedCharacter = null;
+// Game containers
+var levelSelectContainer = new Container();
+var characterSelectContainer = new Container();
+var dressUpContainer = new Container();
+// Level data
+var levels = [{
+ type: 'police',
+ name: 'Police Officer',
+ items: ['policeHat', 'policeShirt', 'policePants', 'policeBadge']
+}, {
+ type: 'doctor',
+ name: 'Doctor',
+ items: ['doctorHat', 'doctorCoat', 'stethoscope']
+}, {
+ type: 'detective',
+ name: 'Detective',
+ items: ['detectiveHat', 'detectiveCoat', 'magnifyingGlass']
+}, {
+ type: 'gunner',
+ name: 'Gunner',
+ items: ['gunnerHat', 'gunnerVest', 'gunnerPants']
+}, {
+ type: 'glasses',
+ name: 'Scholar',
+ items: ['nerdGlasses', 'sweater', 'skirt']
+}];
+var characters = [{
+ type: 'blossom',
+ name: 'Blossom'
+}, {
+ type: 'bubbles',
+ name: 'Bubbles'
+}, {
+ type: 'buttercup',
+ name: 'Buttercup'
+}];
+// Initialize level selection screen
+function showLevelSelection() {
+ game.removeChildren();
+ levelSelectContainer.removeChildren();
+ var titleText = new Text2('Choose Your Profession', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ titleText.anchor.set(0.5, 0.5);
+ titleText.x = 1024;
+ titleText.y = 300;
+ levelSelectContainer.addChild(titleText);
+ for (var i = 0; i < levels.length; i++) {
+ var levelButton = new LevelButton(levels[i].type, levels[i].name);
+ levelButton.x = 1024;
+ levelButton.y = 500 + i * 200;
+ levelSelectContainer.addChild(levelButton);
+ }
+ game.addChild(levelSelectContainer);
+}
+// Initialize character selection screen
+function showCharacterSelection() {
+ game.removeChildren();
+ characterSelectContainer.removeChildren();
+ var titleText = new Text2('Choose Your Character', {
+ size: 80,
+ fill: 0xFFFFFF
+ });
+ titleText.anchor.set(0.5, 0.5);
+ titleText.x = 1024;
+ titleText.y = 400;
+ characterSelectContainer.addChild(titleText);
+ for (var i = 0; i < characters.length; i++) {
+ var characterButton = new CharacterButton(characters[i].type, characters[i].name);
+ characterButton.x = 400 + i * 400;
+ characterButton.y = 800;
+ characterSelectContainer.addChild(characterButton);
+ }
+ // Back button
+ var backButton = new LevelButton('back', 'Back to Levels');
+ backButton.x = 1024;
+ backButton.y = 1200;
+ backButton.down = function () {
+ gameState = 'levelSelect';
+ showLevelSelection();
+ };
+ characterSelectContainer.addChild(backButton);
+ game.addChild(characterSelectContainer);
+}
+// Initialize dress-up screen
+function showDressUpScreen() {
+ game.removeChildren();
+ dressUpContainer.removeChildren();
+ // Add background based on selected level
+ var levelData = levels.find(function (level) {
+ return level.type === selectedLevel;
+ });
+ var background = LK.getAsset(selectedLevel + 'Level', {
+ anchorX: 0,
+ anchorY: 0,
+ alpha: 0.3
+ });
+ dressUpContainer.addChild(background);
+ // Create dressed character
+ dressedCharacter = new DressedCharacter(selectedCharacter);
+ dressedCharacter.x = 1024;
+ dressedCharacter.y = 1000;
+ dressUpContainer.addChild(dressedCharacter);
+ // Create clothing items panel
+ var clothingPanel = new Container();
+ clothingPanel.x = 100;
+ clothingPanel.y = 400;
+ for (var i = 0; i < levelData.items.length; i++) {
+ var clothingItem = new ClothingItem(levelData.items[i], levelData.items[i]);
+ clothingItem.x = i % 3 * 200;
+ clothingItem.y = Math.floor(i / 3) * 200;
+ clothingPanel.addChild(clothingItem);
+ }
+ dressUpContainer.addChild(clothingPanel);
+ // Back button
+ var backButton = new LevelButton('back', 'Back');
+ backButton.x = 1024;
+ backButton.y = 200;
+ backButton.down = function () {
+ gameState = 'characterSelect';
+ showCharacterSelection();
+ };
+ dressUpContainer.addChild(backButton);
+ game.addChild(dressUpContainer);
+}
+// Handle dragging
+game.move = function (x, y, obj) {
+ if (draggedItem && gameState === 'dressUp') {
+ draggedItem.x = x;
+ draggedItem.y = y;
+ }
+};
+game.up = function (x, y, obj) {
+ if (draggedItem && gameState === 'dressUp') {
+ // Check if item was dropped on character
+ if (dressedCharacter && draggedItem.intersects(dressedCharacter)) {
+ dressedCharacter.equipItem(draggedItem.itemType, draggedItem.itemName);
+ }
+ // Return item to original position
+ draggedItem.x = draggedItem.originalX;
+ draggedItem.y = draggedItem.originalY;
+ draggedItem = null;
+ }
+};
+// Start the game
+showLevelSelection();
\ No newline at end of file