Post

Replies

Boosts

Views

Activity

i fail with isJumping = true for my mobile game
hey i want my character to add a jumping animation to my doodlejump clone style. I think I know how to specify the sprites but I fail with the query isJumping = true. can someone help me? the coin provides the platform on which the player lands the ground is only at the start // GameScene.swift // megaJump // // Created by Dennis Sergel on 26.06.23. // import Foundation import SpriteKit class GameScene: SKScene, SKPhysicsContactDelegate{ let background = SKSpriteNode(imageNamed: "background") let player = SKSpriteNode(imageNamed: "Monster2") let ground = SKSpriteNode(imageNamed: "ground") let coin = SKSpriteNode(imageNamed: "coin") enum bitmasks: UInt32 { case player = 0b1 case coin = 0b10 } override func didMove(to view: SKView) { self.size = CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height) self.anchorPoint = .zero background.position = CGPoint(x: size.width / 2, y: 1060) background.zPosition = 1 background.setScale(1.3) addChild(background) physicsWorld.contactDelegate = self ground.position = CGPoint(x: size.width / 2, y: 80) ground.zPosition = 5 ground.setScale(2.5) ground.physicsBody = SKPhysicsBody(rectangleOf: ground.size) ground.physicsBody?.isDynamic = false ground.physicsBody?.affectedByGravity = false addChild(ground) player.position = CGPoint(x: size.width / 2, y: 150) player.zPosition = 80 player.setScale(0.14) player.physicsBody = SKPhysicsBody(circleOfRadius: player.size.height / 2) player.physicsBody?.isDynamic = false // later is true player.physicsBody?.restitution = 1 player.physicsBody?.friction = 0 player.physicsBody?.angularDamping = 0 player.physicsBody?.categoryBitMask = bitmasks.player.rawValue player.physicsBody?.collisionBitMask = 0 player.physicsBody?.contactTestBitMask = bitmasks.coin.rawValue addChild(player) animatePlayer(isJumping: true) makeCoin() } func animatePlayer (isJumping: Bool){ if isJumping { player.texture = SKTexture(imageNamed: "monster") }else{ player.texture = SKTexture(imageNamed: "Monster2") } } func didBegin(_ contact: SKPhysicsContact) { let contactA: SKPhysicsBody let contactB: SKPhysicsBody if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask{ contactA = contact.bodyA // player contactB = contact.bodyB // Coin } else { contactA = contact.bodyB // player contactB = contact.bodyA // coin } if contactA.categoryBitMask == bitmasks.player.rawValue && contactB.categoryBitMask == bitmasks.coin.rawValue{ if player.physicsBody!.velocity.dy < 0 { player.physicsBody?.velocity = CGVector(dx: player.physicsBody!.velocity.dx, dy: 120) } } } override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { for touch in touches { let location = touch.location(in: self) player.position.x = location.x } } override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) { player.physicsBody?.isDynamic = true player.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 120)) } func makeCoin() { coin.position = CGPoint(x: size.width / 2, y: 150) coin.zPosition = 5 coin.setScale(0.14) coin.physicsBody = SKPhysicsBody(rectangleOf: coin.size) coin.physicsBody?.isDynamic = false coin.physicsBody?.allowsRotation = false coin.physicsBody?.affectedByGravity = false coin.physicsBody?.categoryBitMask = bitmasks.coin.rawValue coin.physicsBody?.collisionBitMask = 0 coin.physicsBody?.contactTestBitMask = bitmasks.player.rawValue addChild(coin) } }
3
0
967
Jun ’23
need help for a robot app (school project)
I need help. i have to pose for a school project. then it occurred to me to take some in the style of the cozmo robot but i have no idea how to do it best. Can someone help me or give me tips on how to best get it programmed ... when you start the app you should just open up as if he was sleeping and then just blink etc ..
0
0
376
Nov ’21