Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
1

SpriteKIT (Создаем массив объектов)

17.04.2016, 03:12. Просмотров 499. Ответов 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 минут
Ребята, подскажите плз :
как паузу держать между циклами?
я вообще подумал даже не паузу между циклами формировать,
а просто запускать следующий блок, когда предыдущий дополз,
но не пойму как это реализовть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2016, 03:12
Ответы с готовыми решениями:

SpriteKit
Есть ли док-я или видео, примеры?

Вспышка при помощи SpriteKit
Как сделать своеобразную вспышку при помощи SpriteKit? То есть что бы экран стал белым, а потом...

Тектовое поле в SpriteKit
Здравствуйте, подскажите пожалуйста, как в SpriteKit добавить текстовое поле, в которое можно...

Introduce page с использованием SpriteKit
Доброго времени суток, не кто не сталкивался с такой идеей сделать Welcome Page с анимацией и...

создаем массив из файла
имеется числовой массив $y=array(15, 6, 23. 78, 67); конечно массив длиннее он занимает несколько...

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

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

Вернее фигурка по идее сама падает - так физика включена.
Но вот дальше что пихать...
0
DJame5
0 / -1 / 0
Регистрация: 03.09.2013
Сообщений: 48
17.04.2016, 20:39 4
Я не знаю как работает SpriteKIT и что с ним можно придумать поэтому напишу по простому.
Objective-C
1
2
3
4
while(!win||fail){
Object figure = init;
[figure move];
}
Добавлено через 4 часа 40 минут
Решил тоже поболоваться.
Как вы задаете позиции фигур динамически или статически?
0
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
18.04.2016, 02:04  [ТС] 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 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
20.04.2016, 05:28  [ТС] 6
Модератор, закройте пожалуйста тему
0
20.04.2016, 05:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2016, 05:28

Создаем программу, которая может вводить динамический многомерный целочисленный массив и посредством функций осуществлять:
Создаем программу, которая может вводить динамический многомерный целочисленный массив и...

Массив объектов базового класса, позволяющий работать с набором объектов — чтение, вывод
Расширить программы с классами. Каждый разработанный класс считать базовым; для каждого такого...

В общем как заменить в подборе объектов и так чтобы не сохранял в массив объектов а в лист? с#
Вот код.public static RaycastHit rch; int _my_podbor_switch; public GameObject...


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

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

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