Każdy ma jakieś pomysły na konwersję ccc3 na ccc4 lub nawet makra! Obecnie używam pasma CCMotion i wymaga mnie do użycia ccc4, ale nie wiem, co kombinacja sprawia, co kolor! Proszę, każda pomoc będzie doceniona! DziękiCocos2d Jak korzystać z CCC4?
Odpowiedz
z ccTypes.h
typedef struct _ccColor4B
{
GLubyte r;
GLubyte g;
GLubyte b;
GLubyte a;
} ccColor4B;
//! helper macro that creates an ccColor4B type
static inline ccColor4B
ccc4(const GLubyte r, const GLubyte g, const GLubyte b, const GLubyte o)
{
ccColor4B c = {r, g, b, o};
return c;
}
Dla exampe:
ccColor4b myColor = ccc4(255, 0, 0, 255);
tworzy jednolity kolor czerwony
ponownie od ccTypes.h
/** Returns a ccColor4F from a ccColor3B. Alpha will be 1.
@since v0.99.1
*/
static inline ccColor4F ccc4FFromccc3B(ccColor3B c)
{
return (ccColor4F){c.r/255.f, c.g/255.f, c.b/255.f, 1.f};
}
Jeśli to nie wystarczy za napisanie własnego konwertera jak ostatnio o ne
EDIT:
Jeśli masz ccColor3B myColor3B
i chcesz mieć ccColor4F myColor4F
prostu użyć konwertera:
myColor4F c = ccc4FFromccc3B(myColor3B);
Jeśli chcesz mieć ccColor4B napisać własny konwerter:
static inline ccColor4B ccc4BFromccc3B(ccColor3B c)
{
return (ccColor4F){c.r, c.g, c.b, 255};
}
i używać go tak:
ccColor4B c = ccc4BFromccc3B(myColor);
Dla każdego, mającego ten sam problem z CocosSharp (portu # Xamarin C Cocos2d):
przekonwertować CCColor3B do CCColor4F, można przekazać w CCColor3B jako argument konstruktora CCColor4F. Na przykład:
var color = new CCColor4F (CCColor3B.Red);
CCColor4B nie posiada konstruktora z CCColor3B jako argument, więc trzeba przejść w poszczególnych wartości dla czerwonego, zielonego i niebieskiego, co następuje:
var sourceColor = CCColor3B.Red;
var color = new CCColor4B (sourceColor.R. sourceColor.G, sourceColor.B);
Lubię tworzyć metody rozszerzenie do hermetyzacji powyższego, w następujący sposób:
public static class ColorExtensions
{
public static CCColor4F ToColor4F(this CCColor3B sourceColor)
{
return new CCColor4F (sourceColor);
}
public static CCColor4B ToColor4B(this CCColor3B sourceColor)
{
return new CCColor4B (sourceColor.R, sourceColor.G, sourceColor.B);
}
}
Więc można następnie przeprowadzić konwersji przy użyciu następujących:
var bColor = CCColor3B.ToColor4B();
var fColor = CCColor3B.ToColor4F();
- 1. Jak narysować linię z Cocos2d-iPhone
- 2. Problemy z cocos2d i UINavigationController
- 3. Jak wypełnić teksturę w cocos2d?
- 4. Cocos2d-x: Jak przenieść projekt Cocos2d-x opracowany z XCode na Androida (przez Eclipse)?
- 5. zatrzymać efekt w cocos2d?
- 6. Jak korzystać z find_module?
- 7. Jak korzystać z RedirectToRoute?
- 8. Jak korzystać z WSDL
- 9. Jak korzystać z kCTSuperscriptAttributeName?
- 10. Jak korzystać z pgdb.executemany?
- 11. Jak korzystać z org.mockito.AdditionalMatchers.gt?
- 12. Jak korzystać z createTransport?
- 13. Jak korzystać z UIRemoteNotificationTypeVoIP?
- 14. Jak korzystać z onResume()?
- 15. Jak korzystać z phantomjs?
- 16. Jak korzystać z Form.ShowDialog?
- 17. jak korzystać z particles.js?
- 18. Jak korzystać z MonadRandom?
- 19. Jak korzystać z ReadWriteLock?
- 20. Jak korzystać z QueryPerformanceCounter?
- 21. Jak korzystać z QTextBlock?
- 22. Jak korzystać z cepstral?
- 23. Jak korzystać z metodyWindowFocusChanged()?
- 24. Jak korzystać z tekstu?
- 25. Jak korzystać z MediaSessionCompat?
- 26. Jak korzystać z navigator.app.exitApp()?
- 27. Jak korzystać z MPI_Type_create_subarray?
- 28. Jak korzystać z Microsoft.Scripting.Hosting?
- 29. Jak korzystać z PackageManager.addPreferredActivity()?
- 30. Jak korzystać z Html.Action?
Cześć, dzięki za post! Czy uważasz, że możesz wyjaśnić, jak używać opublikowanego przez siebie kodu? Dzięki – iDeveloper
Edytowałem odpowiedź – Andrew
Okay im bardzo przepraszam, ale nie mogę tego dostać. Aby wyjaśnić jeszcze raz, w zasadzie używam CCMotionStreak i wymaga to użycia ccc4 i chcę przekonwertować mój kolor ccc3 na ccc4. Jeśli to możliwe, możesz zrobić projekt i opublikować kod online? Po prostu wskazówka, którą próbowałem to zrobić: CCMotionStreak * streak = [CCMotionStreak streakWithFade: 2 minSeg: 0 image: @ "Stars.png" width: 32 length: 32 color: ccc4FFromccc3B (255,0,0)]; ale dało 3 błędy! Jeszcze raz dziękuję. – iDeveloper