gpt4 book ai didi

ios - 适用于 iPhone 3.5 英寸和 4 英寸屏幕尺寸的 Sprite Kit 游戏

转载 作者:行者123 更新时间:2023-11-29 02:44:06 38 4
gpt4 key购买 nike

我已经使用 Xcode 5 在 Sprite Kit 中开发了一款适用于 4 英寸屏幕的小游戏,但我想知道是否以及如何在 3.5 英寸屏幕上使用它。当我用 iPhone 5 打开应用程序时,一切正常,但如果我尝试用 iPhone 4S 模拟器打开它,很多东西都隐藏在屏幕之外。

看了很多帖子,解决方案好像都是constraints,但这是最好的解决方案?它适用于 SpriteKit 吗?怎么用呢?

例如我这样定位一个 child :

AAShareBubbles *shareBubbles = [[AAShareBubbles alloc] initWithPoint:CGPointMake(self.view.frame.size.width/2, (self.view.frame.size.height/2)+170)

170 是绝对位置。大约 (height/2)+170 对于 4 英寸屏幕是可以的,但对于 3.5 英寸屏幕则不行。

最佳答案

有很多方法可以为不同的设备做这件事,要么为不同的设备尺寸创建不同的 textureAtlas,要么最简单的方法来更改 SKView

例如

将这一行添加到您的 viewController

#define IS_WIDESCREEN ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON ) 


-(void)addLoadingScene
{

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {

if (IS_WIDESCREEN) {
//this code for iPhone 4 inches

//get device type _deviceType=iphonebig;
//define globalscaleX and globalscaleY in header fine
//where skview is reference of your view


_globalscaleX=(1024.0f*2)/(568*2);
_globalscaleY=(768.0f*2)/(320*2);

yourfirstScreen = [loadingScene sceneWithSize:CGSizeMake(_SKView.bounds.size.height*_globalscaleX, _milkhuntSKView.bounds.size.width*_globalscaleY)];

//please take a look at all the scaleMode defined by spritekit

yourfirstScreen.scaleMode = SKSceneScaleModeFill;
} else {
//this code for iPhone 3.5 inches

_deviceType=iphone;
_globalscaleX=(1024.0f*2)/(480*2);
_globalscaleY=(768.0f*2)/(320*2);

yourfirstScreen = [loadingScene sceneWithSize:CGSizeMake(_SKView.bounds.size.height.bounds.size.height*_globalscaleX, _SKView.bounds.size.height bounds.size.width*_globalscaleY)];
yourfirstScreen.scaleMode = SKSceneScaleModeFill;
}

} else {

//this code for iPad
_deviceType=ipad;
_globalscaleX=1.0f;
_globalscaleY=1.0f;

LoaderScreen = [loadingScene sceneWithSize:CGSizeMake(_SKView.bounds.size.height.bounds.size.height, _SKView.bounds.size.height.bounds.size.width)];
yourfirstScreen.scaleMode = SKSceneScaleModeAspectFill;
}


[_SKView presentScene:LoaderScreen];


}

关于ios - 适用于 iPhone 3.5 英寸和 4 英寸屏幕尺寸的 Sprite Kit 游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25354043/

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