gpt4 book ai didi

ios - “继续玩”功能是应用内购买吗? SpriteKit/Swift

转载 作者:行者123 更新时间:2023-11-30 13:47:01 25 4
gpt4 key购买 nike

我的游戏开发工作已接近尾声,长话短说,当一个物体撞上其中一个障碍物时,游戏就会结束。我已经把这部分写下来了,游戏本身运行得非常好,但我还想添加一个步骤。

我想在应用内购买中添加“继续玩”功能,即从用户游戏最初结束的地方开始,以便他们可以继续。总体而言,我对应用内购买感到满意,但我想我想知道的是如何才能在应用内购买后“继续玩”?我只是在寻找一些可以构建的基本东西。

我是一个 Stack 新手,因为我今天才创建了一个帐户(但我已经编程了一段时间,这个网站已经帮助了我很多次),所以如果有的话我很抱歉在其他地方制作的重复线程。在决定发布之前,我确实环顾了一个小时左右(谷歌也没有帮助)。

最佳答案

作为一般的堆栈溢出规则,您应该始终发布一些您自己的代码或您使用过的代码。

实际上,我也希望在我的游戏中集成一个 playOn 按钮。现在我实际上还没有找到完美的解决方案,但希望这可以帮助您走上正确的道路。

第 1 步:你是如何设计你的游戏结束场景的?您只是暂停场景,暂停节点还是从场景中删除所有子节点?

我暂停场景的方法是创建一个 worldNode,然后将需要暂停的所有对象添加到 worldNode。您可以阅读我回答的两个问题以了解更多详细信息

Keeping the game paused after app become active?

Sprite moves two places after being paused and then unpaused

这样,当我暂停游戏时,我实际上并没有暂停场景,这让我可以更灵活地添加暂停菜单等。此外,它看起来比暂停 skView 更流畅。

当玩家死亡时,我也会调用暂停,这意味着如果我调用恢复,我可以从敌人/障碍物离开的地方恢复它们。所以我的游戏结束方法如下所示

func gameOver() {
pause() // call pause method to pause worldNode etc

//show game over screen including playOn button
}

第 2 步:现在关于重生玩家,这取决于他的位置、他可以移动多远等。如果您的玩家大部分位于同一区域,那么您可能可以在按下“PlayOn”后手动重生玩家,然后像刚刚暂停一样恢复游戏。

因此,一旦按下 playOn 按钮,您就可以调用这样的方法

func playOnPressed() {

// Remove current player
// Doesnt have to be called, you could just change the position
player.removeFromParent()

// Add player manually again to scene or just reposition him
...

// Remove obstacle that killed player
// haven't found a great solution for this yet

// You could make the player not receive damage for 5 seconds to make sure you dont die immediately after playOn is pressed

// Call resume method, maybe with delay if needed
resume()
}

如果你的玩家位置可以遍布整个屏幕,就像在我的游戏中一样,到目前为止我一直在尝试一些东西。

我创建了一个位置属性来跟踪玩家位置

playerPosition = CGPoint!

与我的场景更新方法相比,我不断地将此方法更新为玩家的实际位置。

override func update(currentTime: CFTimeInterval) {
if gameOver = false {
playerPosition = player.position
}
}

我一直在尝试“playOnPressed”方法,

func playOnPressed() {


// Remove current player
//Doesnt have to be called, you could just change the positioon
player.removeFromParent()

// Add player manually again to scene or just reposition him
...
player = SKSpriteNode(...
player.position.x = playerPosition.x - 40 // adjust this so it doesnt spawn where he died but maybe a bit further back
player.position.y = playerPosition.y // adjust if needed

// Remove obstacle that killed player
// haven't found a great solution for this yet

// You could make the player not receive damage for 5 seconds to make sure you dont die immediately after playOn is pressed

// Call resume method, with delay if needed
resume()
}

我希望这可以帮助您使用 playOn 按钮,如果有人有更好的方法,我也会非常感激。

关于ios - “继续玩”功能是应用内购买吗? SpriteKit/Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34802530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com