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]
Sceny w cocos2d
Rozpoczęty przez
leehooker
, 03 mar 2013 00:02
6 odpowiedzi w tym temacie
#1
Napisano 03 marca 2013 - 00:02
#2
Napisano 03 marca 2013 - 09:23
Skorzystaj z warstw - CCLayer.
#3
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
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
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
w scenie MyAwansomeScene ustawiam jej rozmiar
Chciałbym aby ta sceny, o podanych przeze mnie rozmiarach pojawiła się na środku ekranu.
Niestety
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
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
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