Хорошо, поэтому я копирую игру, которую я написал в андроидских студиях, чтобы быстро перейти на ios. Я выяснил много различий в синтаксисе, но есть еще кое-что, что я не могу понять. я вывешу быстрый код первого, то я буду размещать код Java для сравнения с, и, наконец, я объясню, что должно происходить:Быстрые объекты используя? или?
func set(t: Int){
_type = 0; //For debugging otherwise equal to t
delay = 0;
current = 0;
last = 0;
count = 0;
switch (_type){
case 0:
pt = Array<normal>();
let p1 = normal(bpc: self, gameScene: gm);
let p2 = normal(bpc: self, gameScene: gm);
let p3 = normal(bpc: self, gameScene: gm);
length = 3; //for array length
pt?.append(p1);
pt?.append(p2);
pt?.append(p3);
hit = Array<Bool>();
hit?.append(false);
hit?.append(false);
hit?.append(false);
break;
Теперь для эквивалентного кода Java, который работает:
void set(int t){
_type = t;
delay = 0;
current = 0;
last = 0;
count = 0;
switch (_type){
case 0:
pt = new normal[3];
hit = new boolean[3];
for (int i = 0; i < 3; i++){
pt[i] = new normal();
hit[i] = false;
}
break;
Таким образом, нижний код - это код в моей игре для Android, который работает. Код выше - это код, который я пытаюсь сделать так же, но у меня, похоже, проблемы с массивом объектов. Кроме того, я ПТ объявлена выше, как:
private var pt : [Poop_Type]?;
и Java эквивалент:
private Poop_Type pt[];
Как насчет чтения https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html книги раньше? –
в качестве альтернативы, мне бы лучше было отказаться от куска денег, чтобы получить игрового автомата. Я наполовину соблазн просто удалить все динамические объекты и просто жестко закодировать все, чтобы все загружалось и запускалось одновременно, а затем использовало интенсивную интенсивность процессора и подверженность ошибкам, если затем раздел, чтобы выбрать, какие объекты необходимо обновить, и имеют аффект. – Zero
Если вы запутались в опциях и о том, как с ними бороться - мой [ответ здесь] (http://stackoverflow.com/a/36360605/2976878) может быть вам полезен. Концептуальные документы Apple в Swift удивительно ясны и информативны, хотя и намного лучше, чем любые документы другого языка программирования, которые я видел. – Hamish