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

Swift

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

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

15.06.2015, 15:17. Просмотров 575. Ответов 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"

Почему? Почему я не могу массиву присвоить отдельный спрайт? или почему я не могу создать массив из объектов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2015, 15:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевести код с as3 на swift? (Swift):

Swift и бд - Swift
Для курсовой в универе хочу написать простое приложение, которое будет добавлять данные в бд и наоборот читать их. Но хотелось бы, чтобы бд...

Swift, what that? - Swift
Напишите мне, пожалуйста доступным языком, что такое свифт.

Массив Swift - Swift
Есть кусок кода Swift в Xcode: var pageData = NSArray() override init() { super.init() // Create the...

Кнопка в Swift - Swift
Друзья, как сделать круглую кнопку и как сделать так, чтобы при ее нажатии цвет этой кнопки рандомно менялся?

Потоки в Swift - Swift
В общем, решил поковырять свифт на выходных и выяснил, что не могу нормально создавать потоки. То есть создать-то я их могу, а вот...

VK SDK swift - Программирование iOS
Подскажите пожалуйста, как можно подключить VK SDK к проекту на swift. Легко ли это вообще сделать ? И если есть какие-то примеры работы на...

6
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
15.06.2015, 15:19 #2
потому что NSArray нельзя изменять, создавайте Array или NSMutableArray
0
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
16.06.2015, 09:29  [ТС] #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])
                }
        }
0
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
16.06.2015, 11:28  [ТС] #4
странно как-то работает, по логике вещей должно вывести все по координатам, я проверил, они есть
но выводит не правильно, хотя у каждого спрайта координаты заданы верно
проверил нулевой элемент, выводит как положено, проверил 129 элемент, тоже на место ставит
пробую вывести все элементы, и происходит странность, в чем проблема??

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

Перевести код с as3 на swift?
0
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
16.06.2015, 14:02  [ТС] #5
не, ну это мистика какая-то
Перевести код с as3 на swift?
0
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
16.06.2015, 19:10 #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, который лучше все-таки убрать, а то индусня какая-то выходит, простите за мою политнекорректность
0
TexHuK
9 / 9 / 0
Регистрация: 19.10.2011
Сообщений: 102
16.06.2015, 21:38  [ТС] #7
Vorona, все впорядке) я понял в чем ошибка, да действительно вы правы, спасибо, но я вышел из положения своей индусней может это и не верно, но мне привычно)) прокомментируйте пожалуйстаПеревести код с as3 на swift?
0
16.06.2015, 21:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2015, 21:38
Привет! Вот еще темы с ответами:

Swift и MySQL - Swift
Здравствуйте, пишу приложение для удаленной загрузки данных на веб-сервер. Возникла непонятная проблема. Данные приходят с сервера, но...

Swift for Windows - Swift
Здравствуйте, я хочу научиться SWIFT, есть ли SWIFT СТУДИЯ установить на Windows, подобное как Visual Studio для разработки C ++ или...

Документация SWIFT - Swift
Здравствуйте. Не могли бы вы в эту тему накидать документации, особенностей и полезной инфы про Swift. Стоит ли переходить на него из...

SWIFT 3 и WebSocket в Xcode 8 - Swift
Здравствуйте. Собственно вопрос, есть ли возможность использовать WebSocket в Xcode8 (SWIFT 3). Нативных АПИ не нашел, попробовал...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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