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

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
#1

SpriteKIT (Создаем массив объектов) - Программирование iOS/iPhone

17.04.2016, 03:12. Просмотров 377. Ответов 5
Метки нет (Все метки)

Господа, добрый день.
нужна помощь.

Делаю недотетрис. Использую SpriteKIT
Немного переоценил свои силы - сложно разобраться с наскоку и в Ките и в ООП местном.
В общем, для недотетриса хотел оформить блок кода\функцию\метод или тупо конструктор,
который (при передаче параметров или тупо-рандомно) выдает простые фигуры и выкладывает
их на сцену. Но местное ООП мне мозг выносит. не соображу как.

Думал просто метод\функцию написать, прям в файле, который отвечает за прорисовку сцены, но по-моему
так не получится. подскажите в какую сторону смотреть.

как то так вижу это
Objective-C
1
2
3
4
5
6
7
8
9
10
- (SKShapeNode ) Blochim:(int, int )
{
SKShapeNode temp= [SKShapeNode shapeNodeWithRect:CGRectMake(-30/2, -30/2, 30, 30)];
temp.position = CGPointMake(190, 320);
temp.strokeColor = [SKColor redColor];
temp.fillColor = [SKColor yellowColor];
temp.name = @"Quad1";
temp.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:temp.frame.size];
temp.physicsBody.friction = 1;
}
Добавлено через 2 часа 12 минут
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 SKShapeNode* arrayfig[100];
    
    
    
    for (int i =0; i<5 ; i++)
    
    {
        arrayfig[i]=[SKShapeNode shapeNodeWithRect:CGRectMake(-30/2, -30/2, 30, 30)];
        arrayfig[i].position = CGPointMake(200*i, 30+i*100);
        arrayfig[i].strokeColor = [SKColor blackColor];
        arrayfig[i].fillColor = [SKColor redColor];
        arrayfig[i].physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:arrayfig[i].frame.size];
        arrayfig[i].physicsBody.friction = 1;
        [self addChild:arrayfig[i]];
        
    }
Сам же ответил на свой вопрос.
Но по-моему это немного говнокод.
Хотел бы как то в виде недоконструктора это оформить или что-то такое.

Нужно мнение со стороны

Добавлено через 4 часа 58 минут
Ребята, подскажите плз :
как паузу держать между циклами?
я вообще подумал даже не паузу между циклами формировать,
а просто запускать следующий блок, когда предыдущий дополз,
но не пойму как это реализовть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2016, 03:12     SpriteKIT (Создаем массив объектов)
Посмотрите здесь:

Проверка на удаление объектов Objective-C
Правильная имплементация объектов
SpriteKit
Смена свойств объектов по нажатию на кнопку
Objective-C Пересечение объектов
Вспышка при помощи SpriteKit
Копирование объектов Objective-C
Objective-C Хранение WEAK объектов в массиве
Objective-C Последовательность создания объектов
Objective-C Хранение объектов в массиве
Тектовое поле в SpriteKit Swift
Objective-C Introduce page с использованием SpriteKit

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DJame5
0 / 0 / 0
Регистрация: 03.09.2013
Сообщений: 47
17.04.2016, 15:41     SpriteKIT (Создаем массив объектов) #2
Блок кода который отвечает за передвижение фигурки по завершнии посылает сообщение.
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
17.04.2016, 15:53  [ТС]     SpriteKIT (Создаем массив объектов) #3
спасибо.
представил, но... можно уточнить по поводу реализации?

Не соображу никак.

Вернее фигурка по идее сама падает - так физика включена.
Но вот дальше что пихать...
DJame5
0 / 0 / 0
Регистрация: 03.09.2013
Сообщений: 47
17.04.2016, 20:39     SpriteKIT (Создаем массив объектов) #4
Я не знаю как работает SpriteKIT и что с ним можно придумать поэтому напишу по простому.
Objective-C
1
2
3
4
while(!win||fail){
Object figure = init;
[figure move];
}
Добавлено через 4 часа 40 минут
Решил тоже поболоваться.
Как вы задаете позиции фигур динамически или статически?
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
18.04.2016, 02:04  [ТС]     SpriteKIT (Создаем массив объектов) #5
Objective-C
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
static SKShapeNode* arrayfig[100];
static int i=0;
 
{
....
 
[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(testtimer) userInfo:nil repeats:YES];
 
}
 
 
-(void)testtimer
 
{
 
//for (int i=0; i<10; i++) {
 
 
arrayfig=[SKShapeNode shapeNodeWithRect:CGRectMake(-90/2, -90/2, 100, 80)];
arrayfig.position=CGPointMake(500, 700);
arrayfig.strokeColor = [ SKColor whiteColor];
arrayfig.fillColor = [SKColor blackColor];
arrayfig.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:arrayfig.frame.size];
arrayfig.physicsBody.friction = 1;
[self addChild:arrayfig];
}
Добавлено через 1 минуту
Примерно так выглядит : через NSTimer.
Тему наверное можно закрывать
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
20.04.2016, 05:28  [ТС]     SpriteKIT (Создаем массив объектов) #6
Модератор, закройте пожалуйста тему
Yandex
Объявления
20.04.2016, 05:28     SpriteKIT (Создаем массив объектов)
Ответ Создать тему
Опции темы

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