Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
SnowyWhite
2 / 2 / 0
Регистрация: 18.01.2012
Сообщений: 51
1

Cocos2d & XCode Interface Builder

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

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

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

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

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

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

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

XCode 4.2
Утро доброе, у меня такая проблема.. не могу найти исполняемый файл в проекте...

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

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


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

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

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