2

Je suis nouveau sur cocos2dXcocos2d-X 3.X texture de rendu produire une copie laide?

J'ai cherché stackoverflow avec les mots-clés associés mais je ne trouve aucun contenu pertinent. Donc j'en poste un nouveau. J'utilise RendTexture pour améliorer les performances de mon application, l'image ci-dessous est une cellule (menuItem) d'une table (menu), je sorte de "l'aplatir" de sorte qu'il ne contient pas beaucoup de sprites/champs de texte dans un cellule.

Mais la sortie semble lugubre. Y a-t-il des moyens d'avoir une meilleure sortie?

Et est-ce la sortie laide causée par le facteur d'échelle?

originale

original

render Texture

render texture

+0

Salut Kit Man, lorsque vous liez des images dans vos messages, essayez d'utiliser la condition Imgur Uploader (visible dans l'éditeur de texte lorsque vous posez une question) :) –

+1

Merci Sippy! –

+0

il y a des paramètres Texture2D :: PixelFormat et uDepthStencilFormat à RenderTexture créer, essayez de jouer avec ces valeurs, assurez-vous que le format de pixel est à 32 bits RGBA. En outre, si vous avez défini l'anti-crénelage sur true, cela peut modifier la sortie attendue. – sanchitgulati

Répondre

1

trouvé le problème est lié au facteur d'échelle de cocos2d-X. solution:

  1. échelle le contenu à sa largeur d'origine et de la hauteur (annuler la mise à l'échelle automatique dans cocos2d-X)
  2. capture capture d'écran du contenu avec le REnderTexture exactement la même dimension
  3. créer un sprite de la capturer
  4. échelle vers le bas l'image-objet résultant avec le facteur d'échelle de cocos2d-X

espoir pour aider quelqu'un dans le besoin trop

+0

Ça ne m'aide pas. J'ai le même genre de problème. Voir ici: http://discuss.cocos2d-x.org/t/3-0-beta-2-rendertexture-stretching/11618/18 – Narek

+0

J'ai fait la même chose, ça marche sur un simulateur mais le sprite semble toujours en mouvement iPhone après la réduction. – TomSawyer

0

Je ne sais pas pourquoi tout sprite rendu est pas « pixel parfait », mais ma solution est:

renderTexture->getSprite()->getTexture()->setAntiAliasTexParameters()