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

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

Войти
Регистрация
Восстановить пароль
 
SnowyWhite
2 / 2 / 0
Регистрация: 18.01.2012
Сообщений: 51
#1

Cocos2d & XCode Interface Builder - Программирование iOS

07.09.2013, 09:40. Просмотров 748. Ответов 2
Метки нет (Все метки)

Как заставить Cocos2d запускаться в окне, которое я создал в Interface Builder in XCode?
Вот нарисованное окошко:
Screenshot
Cocos2d & XCode Interface Builder

Нужно что-бы сцена запускалась в этом окне, в CCGLView.
В файле AppDelegat.h указал все свойства. Получилось так
AppDelegat.h
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#import "cocos2d.h"
 
@interface TestCocosAppDelegate : NSObject <NSApplicationDelegate>
{
    CCGLView *glview;
    NSWindow *window;
    NSButton *pushButton;
    NSTextField *textEditor;
}
 
@property (assign) IBOutlet CCGLView *glview;
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet NSButton *pushButton;
@property (assign) IBOutlet NSTextField *textEditor;
 
- (IBAction)toggleFullScreen:(id)sender;
 
@end

Далее изменил файл AppDelegat.m.
AppDelegat.m
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#import "AppDelegate.h"
#import "HelloWorldLayer.h"
 
@implementation TestCocosAppDelegate
 
@synthesize glview;
@synthesize window;
@synthesize pushButton;
@synthesize textEditor;
 
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    CCDirectorMac *director = (CCDirectorMac*) [CCDirector sharedDirector];
 
    [director setDisplayStats:YES];
    [director setView:glview];
    [director setResizeMode:kCCDirectorResize_AutoScale];
    
    
    [window setAcceptsMouseMovedEvents:NO];
    [window center];
    
    [director runWithScene:[HelloWorldLayer scene]];
}
 
- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication
{
    return YES;
}
 
- (void)dealloc
{
    [[CCDirector sharedDirector] end];
    [window release];
    [super dealloc];
}
 
#pragma mark AppDelegate - IBActions
 
- (IBAction)toggleFullScreen: (id)sender
{
    CCDirectorMac *director = (CCDirectorMac*) [CCDirector sharedDirector];
    [director setFullScreen: ! [director isFullScreen] ];
}
 
@end

При запуске программа вылетает. Получаю следующее
Error
libGL.dylib`glClear:
0x7fff9211eabd: pushq %rbp
0x7fff9211eabe: movq %rsp, %rbp
0x7fff9211eac1: movl %edi, %eax
0x7fff9211eac3: movq %gs:240, %rcx
0x7fff9211eacc: movq (%rcx), %rdi
0x7fff9211eacf: movq 88(%rcx), %rcx
0x7fff9211ead3: movl %eax, %esi
0x7fff9211ead5: popq %rbp
0x7fff9211ead6: jmpq *%rcx

Если закоментировать в AppDelegat.m строку
Objective-C
1
//[director runWithScene:[HelloWorldLayer scene]];
, то программа запускается, но не в том окне, которое создал я. Появляется просто белое окно.
Screenshot
Cocos2d & XCode Interface Builder

Только начинаю Obj-C учить. Как это правильно реализовать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 09:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Cocos2d & XCode Interface Builder (Программирование iOS):

Cocos2d и Cocos2dx - Программирование iOS
Привет есть такой вопрос. кокос2-х это кроссплатформенный движок - то есть написав код на си++ можно проект откомпилировать и под...

Подскажите ресурсы/документацию по Cocos2D - Программирование iOS
Добрый день. Подскажите пожалуйста где можно найти хорошую документацию по архитектуре движка Cocos2D for iOS. Все что находил очень...

При компиляции нового (не измененного) проекта на движке Cocos2D выскакивает ошибка - Программирование iOS
error: There is no SDK with the name or path 'iphoneos' Из-за чего это может быть т как это исправить? Версия MacOs 1.5.8 Xcode...

XCode 4.2 - Программирование iOS
Утро доброе, у меня такая проблема.. не могу найти исполняемый файл в проекте на подобие того, что в Visual Studio, например:...

о Xcode - Программирование iOS
как правильно настроить Xcode.Я купил годовой сертификат

XCode 8 - Программирование iOS
Здравствуйте, может кто сталкивался с такой проблемой, Обновил версии Xcode c 7 на 8 в связи с обновлением на телефоне оси на 10.1 . После...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Dan_banan_
10 / 10 / 1
Регистрация: 03.03.2013
Сообщений: 87
Записей в блоге: 1
14.09.2013, 04:45 #2
что бы заставить его запускаться надо наверно скачать готовый пример и посмотреть как там реализовано) Подчеркиваю внимательно посмотреть) Есть демо игрушка на кокосе , запрос в гугле будет выглядеть примерно так: demo cocos 2d))
SnowyWhite
2 / 2 / 0
Регистрация: 18.01.2012
Сообщений: 51
15.09.2013, 15:28  [ТС] #3
Искал. Ничего толкового не нашел.
Раньше, кажется, при создании Cocos2d проекта, создавался *.xib файл, в котором уже был NSOpenGLView. Сейчас такого файла нету.
А как вообще отобразить созданное в IB окно?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 15:28
Привет! Вот еще темы с ответами:

Interface Builder 4.2 - Objective-C
добрый день. итак, я занялся изучением Objective-C не так давно, и столкнулся с некоторой проблемой, а именно: я начал изучение с...

Не запускается Interface Builder - Objective-C
Привет. Начал изучение Obj-C. Использую Xcode 4.5.1, но не могу понять как запустить интерфейс билдер. его просто нет, и все. Перерыл...

Отличие cocos2d-x от cocos2d-iphone? cocos2d-x используемый язык программирования? - Cocos2d-x
cocos2d-x вроде как позволяет писать и под ios и android. 1)Тогда в чем приемущество cocos2d-iphone? 2)Не как не могу узнать какой язык...

COM-interface & Assembler - Assembler
Пытаюсь реализовать доступ к iActiveDescktop интерфесу Com-обекта ActiveDesktop. В Си используются такие стороки: HRESULT hr; ...


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

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

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