Форум программистов, компьютерный форум, киберфорум
Swift
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 32

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

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

Студворк — интернет-сервис помощи студентам
Здравствуйте, делаю игру по уроку в ютубе, там есть возможность перехода на другой уровень, но когда я на него перехожу, все изображение пропадает, мне кажется дело в размерах, как это можно исправить? https://www.cyberforum.ru/atta... 1449237991
https://www.cyberforum.ru/atta... 1449237991
Миниатюры
Масштабирование   Масштабирование  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.12.2015, 17:06
Ответы с готовыми решениями:

Scaling или масштабирование
Здравствуйте, дорогие господа форумчане! Решил написать игрушку для ios, и первый вопрос который у меня возник - Как запрограммировать так...

Масштабирование картинки Swift xCode
Есть приложение, картинка ниже текст... Каким образом я могу сделать открытие картинки по типу и возможность ее масштабирования?

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

1
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 32
07.12.2015, 16:52  [ТС]
Вот первый документ GameScene.swift:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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 это по сути следующий уровень, пока в нем содержится все тоже самое, что и в первом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2015, 16:52
Помогаю со студенческими работами здесь

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

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

Масштабирование
Здравствуйте. Не могли бы вы подсказать реализацию/теорию(где почитать) про алгоритмы масштабирования? У меня есть монохромные матрицы из...

Масштабирование
В общем ломаю голову не могу понять как сделать. Что бы изображение растягивалось полность на всю страницу. &lt;div...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru