From d1488a7dacc62cc1164ccc6858c10e279229714e Mon Sep 17 00:00:00 2001 From: Nathan Date: Mon, 27 May 2024 09:03:59 +0200 Subject: [PATCH] :construction: Add: SpriteMeeple --- .../DouShouQi_App.xcodeproj/project.pbxproj | 28 +++++++++++ .../ClassMeeple/SpriteMeeple.swift | 47 +++++++++++++++++++ 2 files changed, 75 insertions(+) diff --git a/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj b/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj index 0f597c9..18583bc 100644 --- a/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj +++ b/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj @@ -24,6 +24,9 @@ 649B59AE2BF64EAB002BAE38 /* AppImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59AD2BF64EAB002BAE38 /* AppImages.swift */; }; 649B59B22BF65392002BAE38 /* TextStyles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59B12BF65392002BAE38 /* TextStyles.swift */; }; 649B59B42BF653E1002BAE38 /* ViewTitleTextStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59B32BF653E1002BAE38 /* ViewTitleTextStyle.swift */; }; + ECB6364E2C04628E007CD5E2 /* SpriteMeeple.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB6364D2C04628E007CD5E2 /* SpriteMeeple.swift */; }; + ECB636512C046379007CD5E2 /* MusicPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB636502C046379007CD5E2 /* MusicPlayer.swift */; }; + ECB636532C0463A9007CD5E2 /* SoundPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB636522C0463A9007CD5E2 /* SoundPlayer.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,6 +81,9 @@ 649B59AD2BF64EAB002BAE38 /* AppImages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppImages.swift; sourceTree = ""; }; 649B59B12BF65392002BAE38 /* TextStyles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextStyles.swift; sourceTree = ""; }; 649B59B32BF653E1002BAE38 /* ViewTitleTextStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewTitleTextStyle.swift; sourceTree = ""; }; + ECB6364D2C04628E007CD5E2 /* SpriteMeeple.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpriteMeeple.swift; sourceTree = ""; }; + ECB636502C046379007CD5E2 /* MusicPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MusicPlayer.swift; sourceTree = ""; }; + ECB636522C0463A9007CD5E2 /* SoundPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoundPlayer.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -130,6 +136,8 @@ 6458345A2BF5F92300E18321 /* DouShouQi_App */ = { isa = PBXGroup; children = ( + ECB6364F2C04635D007CD5E2 /* SoundPlayerClass */, + ECB6364C2C046067007CD5E2 /* ClassMeeple */, 649B59A52BF64B1B002BAE38 /* Assets */, 649ABF5E2BF60ED5002E8894 /* Components */, 649ABF592BF60D13002E8894 /* Views */, @@ -228,6 +236,23 @@ path = TextStyles; sourceTree = ""; }; + ECB6364C2C046067007CD5E2 /* ClassMeeple */ = { + isa = PBXGroup; + children = ( + ECB6364D2C04628E007CD5E2 /* SpriteMeeple.swift */, + ); + path = ClassMeeple; + sourceTree = ""; + }; + ECB6364F2C04635D007CD5E2 /* SoundPlayerClass */ = { + isa = PBXGroup; + children = ( + ECB636502C046379007CD5E2 /* MusicPlayer.swift */, + ECB636522C0463A9007CD5E2 /* SoundPlayer.swift */, + ); + path = SoundPlayerClass; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -365,9 +390,12 @@ 649B59A92BF64C6A002BAE38 /* Colors.swift in Sources */, 649B59B42BF653E1002BAE38 /* ViewTitleTextStyle.swift in Sources */, 649B59AE2BF64EAB002BAE38 /* AppImages.swift in Sources */, + ECB636532C0463A9007CD5E2 /* SoundPlayer.swift in Sources */, 649B59B22BF65392002BAE38 /* TextStyles.swift in Sources */, 6458345C2BF5F92300E18321 /* DouShouQi_AppApp.swift in Sources */, 649ABF5B2BF60D78002E8894 /* GameView.swift in Sources */, + ECB636512C046379007CD5E2 /* MusicPlayer.swift in Sources */, + ECB6364E2C04628E007CD5E2 /* SpriteMeeple.swift in Sources */, 649B59A42BF64574002BAE38 /* TopGameBoard.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/DouShouQi_App/DouShouQi_App/ClassMeeple/SpriteMeeple.swift b/DouShouQi_App/DouShouQi_App/ClassMeeple/SpriteMeeple.swift index eb9ad91..583004d 100644 --- a/DouShouQi_App/DouShouQi_App/ClassMeeple/SpriteMeeple.swift +++ b/DouShouQi_App/DouShouQi_App/ClassMeeple/SpriteMeeple.swift @@ -6,3 +6,50 @@ // import Foundation +import SpriteKit + +class SpriteMeeple : SKNode { + + /*static let offset = CGPoint(x: -400, y: -300) + static let direction = CGVector(dx: 100, dy: 100) + + let imageNode : SKSpriteNode + var ellipseNode : SKShapeNode + + var cellPosition: CGPoint{ + didSet(cellPosition){ + self.position.x = SpriteMeeple.offset.x + SpriteMeeple.direction.dx*cellPosition.x + self.position.y = SpriteMeeple.offset.y + SpriteMeeple.direction.dx*cellPosition.y + } + } + + init(imageNamed imageName: String, size: CGSize, backgroundColor: UIColor){ + imageNode = SKSpriteNode(imageNamed: imageName) + ellipseNode = SKShapeNode(ellipseOf: CGSize(width: 100, height: 100)) + ellipseNode.fillColor = .yellow + super.init() + + ellipseNode = SKShapeNode(ellipseOf: CGSize(width: imageNode.size.width, height: imageNode.size.height)) + //self.addChild(ellipseNode) + //self.addChild(imageNode) + } + + required init?(coder aDecoder:NSCoder){ + imageNode = SKSpriteNode(imageNamed: "ratMeeple") + //ellipseNode = SKSpriteNode(ellipseNode) + super.init(coder: aDecoder) + } + + override var isUserInteractionEnabled: Bool{ + set { } + get { true } + } + + /*override func touchesBegin(_ touches: Set, with event: UIEvent?){ + Set, with event: UIEvent?) + }*/ + + override func touchesMoved(_ touches: Set, with event: UIEvent?){ + self.position = touches.first?.location(in: parent!) ?? CGPoint(x: 0, y: 0) + }*/ +}