initial commit
This commit is contained in:
		
							
								
								
									
										66
									
								
								client/src/spritesheets/spritesheet.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								client/src/spritesheets/spritesheet.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,66 @@
 | 
			
		||||
type Spritesheet = {
 | 
			
		||||
	frames: Record<
 | 
			
		||||
		string,
 | 
			
		||||
		{
 | 
			
		||||
			frame: { x: number; y: number; w: number; h: number };
 | 
			
		||||
			sourceSize: { w: number; h: number };
 | 
			
		||||
			spriteSourceSize: { x: number; y: number; w: number; h: number };
 | 
			
		||||
		}
 | 
			
		||||
	>;
 | 
			
		||||
	meta: {
 | 
			
		||||
		image: string;
 | 
			
		||||
		format: string;
 | 
			
		||||
		size: { w: number; h: number };
 | 
			
		||||
		scale: 1;
 | 
			
		||||
	};
 | 
			
		||||
	animations?: Record<string, string[]>;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
(function () {
 | 
			
		||||
	console.log(JSON.stringify(getCardSpritesheet(), null, "\t"));
 | 
			
		||||
})();
 | 
			
		||||
 | 
			
		||||
function getCardSpritesheet() {
 | 
			
		||||
	const spriteSheet: Spritesheet = {
 | 
			
		||||
		frames: {},
 | 
			
		||||
		meta: {
 | 
			
		||||
			image: "/public/assets/cards.png",
 | 
			
		||||
			format: "RGBA8888",
 | 
			
		||||
			size: { w: 1872, h: 896 },
 | 
			
		||||
			scale: 1,
 | 
			
		||||
		},
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	const suits = ["Spades", "Hearts", "Clubs", "Diamonds"];
 | 
			
		||||
	const values = [
 | 
			
		||||
		"two",
 | 
			
		||||
		"three",
 | 
			
		||||
		"four",
 | 
			
		||||
		"five",
 | 
			
		||||
		"six",
 | 
			
		||||
		"seven",
 | 
			
		||||
		"eight",
 | 
			
		||||
		"nine",
 | 
			
		||||
		"ten",
 | 
			
		||||
		"jack",
 | 
			
		||||
		"queen",
 | 
			
		||||
		"king",
 | 
			
		||||
		"ace",
 | 
			
		||||
	];
 | 
			
		||||
 | 
			
		||||
	for (let i = 0; i < 4; i++) {
 | 
			
		||||
		for (let j = 0; j < 13; j++) {
 | 
			
		||||
			const cardName = `${values[j]}Of${suits[i]}`;
 | 
			
		||||
			const size = { w: 144, h: 224 };
 | 
			
		||||
			const position = { x: j * size.w, y: i * size.h };
 | 
			
		||||
 | 
			
		||||
			spriteSheet.frames[cardName] = {
 | 
			
		||||
				frame: { ...size, ...position },
 | 
			
		||||
				sourceSize: size,
 | 
			
		||||
				spriteSourceSize: { ...size, x: 0, y: 0 },
 | 
			
		||||
			};
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return spriteSheet;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user