Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Sceny w cocos2d


  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 leehooker

leehooker
  • 207 postów

Napisano 03 marca 2013 - 00:02

Witam, Mam do Was pytanie: Planuję/chcę zrobić coś takiego - gdy kliknę w odpowiednią pozycję w menu (gry) chcę przejść do nowej sceny. Jednak nie chcę używać replaceScene, popScene itp ponieważ zależy mi aby nowa warstwa otworzyła się "na głównej" w odpowiednim rozmiarze i dezaktywowała "starą" (czyli główną) - coś na kształt HUDLayer. Jak najlepiej to rozwiązać/zabrać się do tego? Zamysł: [ATTACH=CONFIG]14026[/ATTACH]

#2 gzajac

gzajac
  • 47 postów
  • SkądKraków

Napisano 03 marca 2013 - 09:23

Skorzystaj z warstw - CCLayer.

#3 leehooker

leehooker
  • 207 postów

Napisano 03 marca 2013 - 11:17

Ok, dzięki. A masz/macie może jakiś "namacalny" przykład, gdzie zostało to (w taki sposób jak opisuję) wykorzystane?

#4 gzajac

gzajac
  • 47 postów
  • SkądKraków

Napisano 03 marca 2013 - 12:34

Zobacz na stronie raywenderlich.com. Tam jest masa najlepszych w sieci tutoriali do cocos'a. Jest też przykład z HUD Layer, może nie do końca pokazujący to co Ty chcesz osiągnąć, ale da Ci jakieś pojęcie jak się do tego zabrać.

#5 leehooker

leehooker
  • 207 postów

Napisano 03 marca 2013 - 12:56

Właśnie nie chcę korzystać z HUD.
Zrobiłem tak:

Przejście z głównej sceny do sceny MyAwansomeScene
CCTransitionFlipY *transition = [CCTransitionFlipY transitionWithDuration:1.0 scene:[MyAwesomeScene node]];
[[CCDirector sharedDirector] replaceScene:transition];

w scenie MyAwansomeScene ustawiam jej rozmiar
self.contentSize = CGSizeMake(300, 300);

Chciałbym aby ta sceny, o podanych przeze mnie rozmiarach pojawiła się na środku ekranu.
Niestety
self.position = ccp(size.width/2, size.height/2)
nie za bardzo działa.

#6 leehooker

leehooker
  • 207 postów

Napisano 03 marca 2013 - 18:56

Niestety to nie działa jak chcę. Powyższy sposób zamienia mi warstwę a ja chcę tylko nałożyć inną o mniejszym rozmiarze. W ten czas chcę aby ciągle działała scena główna. Jakieś pomysły?

#7 BartMax

BartMax
  • 39 postów

Napisano 05 marca 2013 - 13:46

Tworzysz sobie np CCLayer* newLayer = itd. nastepnie addChild(newLayer) i pozniej jak stworzysz sprite to: newLayer->addChild(sprite); Tak na szybko z glowy podaje, jak bedziesz mial dalej problem to daj znac.




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych