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

Swift

Войти
Регистрация
Восстановить пароль
 
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
#1

Перевести код с as3 на swift? - Swift

15.06.2015, 15:17. Просмотров 561. Ответов 6
Метки нет (Все метки)

Приветствую, помогите пожалуйста перевести этот цикл созданный в as3 на swift

смысл цикла заключается в следующем

создаем новый спрайт, закидываем его в массв, потом раскидываем по сцене, получается как бы размноженный спрайтик. За ранее благодарю.

Objective-C
1
2
3
4
5
6
7
8
9
10
for (var i:int = 0; i < 13; i++) 
      {
        for (var j:int = 0; j < 12; j++) 
        {
          arrTextureField[i] = new textureField();
          arrTextureField[i].x = arrTextureField[i].width * i+8;
          arrTextureField[i].y = arrTextureField[i].height * j+8;
          self.addChild(arrTextureField[i]);
        }
      }
Добавлено через 1 час 12 минут
решил начать с этого
Objective-C
1
2
3
4
5
6
7
var fieldArr = NSArray()
 
for var i = 0; i < 13; i++ {
   for var j = 0; j <12; j++ {
   fieldArr[i] = SKSpriteNode(imageNamed: "field")
   }
}

но выдает ошибку "Cannot assign to the result of this expression"

Почему? Почему я не могу массиву присвоить отдельный спрайт? или почему я не могу создать массив из объектов?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2015, 15:17     Перевести код с as3 на swift?
Посмотрите здесь:
Swift События в Cocoa Swift
Swift Swift is open source!
Сильная связь Swift Swift
Swift SWIFT 3 и WebSocket в Xcode 8
Как установить Swift? Swift
Восклицательный знак в Swift Swift
Swift JSON Parsing Swift
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
15.06.2015, 15:19     Перевести код с as3 на swift? #2
потому что NSArray нельзя изменять, создавайте Array или NSMutableArray
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
16.06.2015, 09:29  [ТС]     Перевести код с as3 на swift? #3
С Array не сработало, а вот с NSMutableArray вроде все хорошо, спасибо за подсказку, буду дальше ковырять)

Добавлено через 14 минут
Следующий вопрос)

Пытаюсь обратиться к объекту, но снова ошибка
Objective-C
1
2
3
4
5
6
7
8
var fieldArr = NSMutableArray()
 
for var i = 0; i < 13; i++ {
   for var j = 0; j <12; j++ {
   fieldArr[i] = SKSpriteNode(imageNamed: "field")
   fieldArr[i].size = CGSizeMake(20, 20)
   }
}
с чем связанно? неправильно обращаюсь к объекту?

Добавлено через 17 часов 51 минуту
написал вот такой код

(прошу извинить за использования циклов подобного рода в swift, но мне пока так привычнее)

в общем на сцену не добавляет, видать я как-то не верно пытаюсь это сделать
при компиляции выкидывает в AppDelegate и пишет Thread 1: signal SIGABRT

что это значит?
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var fieldArr = [SKSpriteNode]()        
        
        for var i = 0; i < 13; i++ {
            for var j = 0; j < 12; j++ {
                
                var x_current = CGFloat(20 * i)
                var y_current = CGFloat(20 * j)
                
                fieldArr.append(SKSpriteNode(imageNamed: "field"))
                fieldArr[i].size = CGSize(width: 20, height: 20)
                fieldArr[i].position = CGPointMake(x_current, y_current)
                self.addChild(fieldArr[i])
                }
        }
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
16.06.2015, 11:28  [ТС]     Перевести код с as3 на swift? #4
странно как-то работает, по логике вещей должно вывести все по координатам, я проверил, они есть
но выводит не правильно, хотя у каждого спрайта координаты заданы верно
проверил нулевой элемент, выводит как положено, проверил 129 элемент, тоже на место ставит
пробую вывести все элементы, и происходит странность, в чем проблема??

Перевести код с as3 на swift?

Перевести код с as3 на swift?
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
16.06.2015, 14:02  [ТС]     Перевести код с as3 на swift? #5
не, ну это мистика какая-то
Перевести код с as3 на swift?
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
16.06.2015, 19:10     Перевести код с as3 на swift? #6
Цитата Сообщение от TexHuK Посмотреть сообщение
Пытаюсь обратиться к объекту, но снова ошибка
NSArray и NSMutableArray не знают о типах объектов, которые там лежат, потому нужно явно приводить к типу
Цитата Сообщение от TexHuK Посмотреть сообщение
С Array не сработало
как это не сработало, если все следующие примеры вы пишите с использованием Array

почитайте может для начала документацию, серьезно, отпадут банальные вопросы
Цитата Сообщение от TexHuK Посмотреть сообщение
var x_current = CGFloat(20 * i)
var y_current = CGFloat(20 * j)
заменяйте по возможности var на let, тут же вы эти переменные больше не меняете, зачем вам var

Цитата Сообщение от TexHuK Посмотреть сообщение
не, ну это мистика какая-то
вы вообще понимаете, что вы тут делаете или нет?
начнем с того, что такое inc, зачем он тут вообще нужен?
продолжим тем, что вы все время обращаетесь к элементам массива по индексу i, который все j 10 раз будет неизменным, т.е. все, что вы делаете, это создаете 130 элементов и присваиваете координаты первым 13
что вам нужно сделать, так это обращаться в цикле к элементу массива по индексу i*j, либо по вот этому вашему inc, который лучше все-таки убрать, а то индусня какая-то выходит, простите за мою политнекорректность
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2015, 21:38     Перевести код с as3 на swift?
Еще ссылки по теме:
Swift Input/output в swift
Дружит ли swift с геопозицией? Swift
Конвертер из swift в ObjC Swift
Swift Мутирование массива - Swift
Swift Казалось бы просто Swift

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

Или воспользуйтесь поиском по форуму:
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
16.06.2015, 21:38  [ТС]     Перевести код с as3 на swift? #7
Vorona, все впорядке) я понял в чем ошибка, да действительно вы правы, спасибо, но я вышел из положения своей индусней может это и не верно, но мне привычно)) прокомментируйте пожалуйстаПеревести код с as3 на swift?
Yandex
Объявления
16.06.2015, 21:38     Перевести код с as3 на swift?
Ответ Создать тему
Опции темы

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