J'essaie d'implémenter mon propre parallaxe de défilement dans Cocos2d car la fonctionnalité de parallaxe intégrée n'est pas exactement ce que je cherche (elle met à l'échelle les calques, ce qui n'est pas le cas Je veux)Problème d'animation d'un calque Parallax dans Cocos2d-iPhone
Alors, mes propres couches Parallax écrasent les couches méthode comme celle
- (void) setPosition:(CGPoint)point
{
[super setPosition:CGPointMake(point.x/pRatio, point.y/pRatio)];
}
pRatio
est un int
qui réduit la quantité de la couche se déplace en, créant ainsi le genre d'effet parallaxe je suis à la recherche de. Et ça fonctionne parfaitement comme ça.
Cependant, à l'occasion, je dois animer un calque à une position spécifique en utilisant MoveTo, donc j'ai créé cette méthode qui répond à un NSNotiification
- (void) gotoStartPosition:(NSNotification *)notification
{
CGPoint startPos = CGPointFromString([notification object]);
id moveToStart = [MoveTo actionWithDuration:1 position:startPos];
[self runAction:moveToStart];
}
Ce qui fonctionne jusqu'à ce que je mets le pRatio à quoi que ce soit au-dessus de 1. Si le pRatio est supérieur à 1, alors gotoStartPosition
fait passer la couche à CGPoint(0,0)
et s'anime en position à partir de là.
Je ne peux pas comprendre à quel point la position des couches est réglée sur 0,0, et je ne comprends pas pourquoi il fait seulement quand pRatio est supérieur à 1.
Je soupçonne que c'est ça va être quelque chose de douloureusement simple, mais je pense que mon cerveau est frit. Toute aide, grandement appréciée.