Форум программистов, компьютерный форум CyberForum.ru

Swift

Войти
Регистрация
Восстановить пароль
 
lECI
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 32
#1

Масштабирование - Swift

04.12.2015, 17:06. Просмотров 345. Ответов 1
Метки нет (Все метки)

Здравствуйте, делаю игру по уроку в ютубе, там есть возможность перехода на другой уровень, но когда я на него перехожу, все изображение пропадает, мне кажется дело в размерах, как это можно исправить? http://www.cyberforum.ru/attachment....1&d=1449237991
http://www.cyberforum.ru/attachment....1&d=1449237991
Миниатюры
Масштабирование   Масштабирование  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2015, 17:06     Масштабирование
Посмотрите здесь:

Масштабирование - HTML, CSS
Пишу сайт на юкозе....столкнулся с такой проблемой....шаблон притянут к краям страницы и при масштабировании получается много свободного...

Масштабирование - C++ Builder
Всем привет. Кто поможет разобраться с масштабированием? Например, есть фигура (круг) в канаве, как сделать так, чтобы при прокрутке...

Масштабирование - Delphi
Всем доброго времени суток! В общем, затупил с одной проблемкой (сижу третий день и уже, что называется, "глаз затерся"). И меется...

Масштабирование - OpenGL
Привет всем. Мне нужно написать программу рисования графика функции. Вот мой код. #include <iostream> #include <Windows.h> #include...

Масштабирование - C++ Builder
Подскажите, пожалуйста, как увеличить изображение, полученное через Pixels, до размеров Image? Заранее спасибо. for(int i=0;i<NN;i++){...

Масштабирование - Pascal ABC
Задача вроде работает верно. Моя проблема в том, что не могу сделать масштабирование получившейся фигуры. Помогите с этой проблемой. ...

масштабирование - Delphi
Скажите, что можно придумать, чтобы увеличив фигуру в 2 раза, потом можно было вернуть ее первоначальный вид, поставив в масштабе 1? :(...

масштабирование - Matlab
не могли бы вы помочь с написанием функции масштабирования изображения в k раз(k не целое) ну или хотя бы подтолкнуть как это делать

масштабирование! - HTML, CSS
привет! скажите, почему при масштабировании страницы (ctrl+scroll) на одних страницах происходит просто увеличение контента, а на других...

масштабирование - HTML, CSS
Здоровья Вам!!! прошу помощи! вот делаю такую карту http://namore.biz.ua/karta в Мазиле открывается как надо (с изменением курсора на...

Масштабирование - C++ Builder
Подскажите пожалуйста, как использовать масштабирование, у меня построен график в Image1, как сделать чтобы при изменение размеров окна,...

Масштабирование - PHP
Доброго времени суток! Пишу клиент-серверное приложение на PHP для набивки шишек. Решил разработать его таким образом, что оно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lECI
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 32
07.12.2015, 16:52  [ТС]     Масштабирование #2
Вот первый документ GameScene.swift:
Код
struct PhysicsCategory {
static let En: UInt32 = 1
static let Bullet: UInt32 = 2
static let Player: UInt32 = 3

}

class GameScene: SKScene, SKPhysicsContactDelegate {
var Player = SKSpriteNode(imageNamed: "Image")
var score = Int()
var Scorelbl = UILabel()
override func didMoveToView(view: SKView) {
physicsWorld.contactDelegate = self

self.scene?.size = CGSize(width: self.frame.size.width, height: self.frame.size.height)
Player.position = CGPointMake(self.size.width / 2, self.size.height / 5)
Player.physicsBody = SKPhysicsBody(rectangleOfSize: Player.size) 
Player.physicsBody?.affectedByGravity = false
Player.physicsBody?.categoryBitMask = PhysicsCategory.Player
Player.physicsBody?.contactTestBitMask = PhysicsCategory.En
Player.physicsBody?.dynamic = false

var Timer = NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: Selector("Spaw"), userInfo: nil, repeats: true)
var EnTimer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("SpawEn"), userInfo: nil, repeats: true)
self.addChild(Player)
Scorelbl.text = "\(score)"
Scorelbl = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
Scorelbl.backgroundColor = UIColor.whiteColor()
Scorelbl.textColor = UIColor.blackColor()
self.view?.addSubview(Scorelbl)
}
func didBeginContact(contact: SKPhysicsContact) {
var firstBody : SKPhysicsBody = contact.bodyA
var secondBody: SKPhysicsBody = contact.bodyB
if ((firstBody.categoryBitMask == PhysicsCategory.En) && (secondBody.categoryBitMask == PhysicsCategory.Bullet) || (firstBody.categoryBitMask == PhysicsCategory.Bullet) && (secondBody.categoryBitMask == PhysicsCategory.En)){
collisionBullet(firstBody.node as! SKSpriteNode, Bullet: secondBody.node as! SKSpriteNode)
}
else if ((firstBody.categoryBitMask == PhysicsCategory.En) && (secondBody.categoryBitMask == PhysicsCategory.Player) || (firstBody.categoryBitMask == PhysicsCategory.Player) && (secondBody.categoryBitMask == PhysicsCategory.En)){
collisionWithPerson(firstBody.node as! SKSpriteNode, Person: secondBody.node as! SKSpriteNode)
}
}
func collisionBullet(En: SKSpriteNode, Bullet: SKSpriteNode){
En.removeFromParent()
Bullet.removeFromParent()
score++
Scorelbl.text = "\(score)"

}

func collisionWithPerson(En: SKSpriteNode, Person: SKSpriteNode){
En.removeFromParent()
Person.removeFromParent()
view?.presentScene(Next())
Scorelbl.removeFromSuperview()
}

func Spaw(){
var Bullet = SKSpriteNode(imageNamed: "Image-1")
Bullet.zPosition = -5
Bullet.position = CGPointMake(Player.position.x, Player.position.y)
let action = SKAction.moveToY(self.size.height + 30, duration: 1.0)
let actionDone = SKAction.removeFromParent()
Bullet.runAction(SKAction.sequence([action, actionDone]))
Bullet.runAction(SKAction.repeatActionForever(action))
Bullet.physicsBody = SKPhysicsBody(rectangleOfSize: Bullet.size)
Bullet.physicsBody?.categoryBitMask = PhysicsCategory.Bullet
Bullet.physicsBody?.contactTestBitMask = PhysicsCategory.En
Bullet.physicsBody?.affectedByGravity = false
Bullet.physicsBody?.dynamic = false

self.addChild(Bullet)
}

func SpawEn(){
var En = SKSpriteNode(imageNamed: "Image-2")
var minVal = self.size.width / 8
var maxVal = self.size.width - 20
var Point = UInt32(maxVal - minVal)
En.position = CGPoint(x: CGFloat(arc4random_uniform(Point)), y: self.size.height)
En.physicsBody = SKPhysicsBody(rectangleOfSize: En.size)
En.physicsBody?.categoryBitMask = PhysicsCategory.En
En.physicsBody?.contactTestBitMask = PhysicsCategory.Bullet
En.physicsBody?.affectedByGravity = false
En.physicsBody?.dynamic = true

let action = SKAction.moveToY(-60, duration: 3.0)
En.runAction(SKAction.repeatActionForever(action))
let actionDone = SKAction.removeFromParent()
        
En.runAction(SKAction.sequence([action, actionDone]))
self.addChild(En)
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/* Called when a touch begins */
for touch in touches {
let location = touch.locationInNode(self)
Player.position.x = location.x
}
}
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches {
let location = touch.locationInNode(self)
Player.position.x = location.x
}
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
}
}
Следующий GameSceneController.swift:
Код
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill

skView.presentScene(scene)
}
}
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
override func prefersStatusBarHidden() -> Bool {
return true
}
}
Когда враг попадает в самолет, мы переходим на следующую сцену, где находится кнопка перехода на следующий уровень Next.swift:
Код
class Next: SKScene{
var RestartB : UIButton!

override func didMoveToView(view: SKView) {
scene?.backgroundColor = UIColor.redColor()

RestartB = UIButton(frame: CGRect(x: 0, y: 0, width: view.frame.size.width / 3, height: 30))
RestartB.center = CGPointMake(view.frame.size.width / 2, view.frame.size.width / 7)
RestartB.setTitle("Restart", forState: UIControlState.Normal)
RestartB.setTitleColor(UIColor.darkGrayColor(), forState: UIControlState.Normal)
RestartB.addTarget(self, action: Selector("Restart"), forControlEvents: UIControlEvents.TouchUpInside)
self.view?.addSubview(RestartB)

}

func Restart(){
self.view?.presentScene(Start(), transition: SKTransition.flipHorizontalWithDuration(0.3))

RestartB.removeFromSuperview()
}
}
struct PhysicssCategory {
static let En: UInt32 = 1
static let Bullet: UInt32 = 2
static let Player: UInt32 = 3

}
И последний документ Start.swift это по сути следующий уровень, пока в нем содержится все тоже самое, что и в первом.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru