2012-04-06 5 views
0

Ich habe ein Problem mit cocos2d Kacheln. Mein Ziel ist es, eine kreisförmige Sichtlinie zu machen, dass, wenn sich der Spieler bewegt, er nur im Kreis herum sehen muss, aber den Rest nicht sehen kann. Ich habe viele Dinge ausprobiert und es in rechteckiger Fläche nachgebaut, aber ich konnte es im kreisförmigen Bereich nicht schaffen. Ich warte auf deine Antworten. Danke für Ihre Hilfe. Wenn Sie mir sofort helfen, werde ich schätzen.Wie macht man eine kreisförmige Sichtlinie in cocos2d Kachelkarte

Antwort

2

Verwenden Sie eine rechteckige Fläche und fügen Sie eine Alpha-Maske mit rundem Verlauf als Kind des Spielers hinzu, um den sichtbaren Teil rund zu machen. Zum Beispiel mit

http://i.imgur.com/3IEDI.png

ohne

http://i.imgur.com/Y90ZR.png

bearbeiten Verblassen Verblassen.

Die grüne Schicht ist der Nebel. Nur ein Quadrat davon ist freigelegt ("Ich habe viele Dinge ausprobiert und es in einem rechteckigen Bereich nachgearbeitet"). Die rote Schicht ist die kreisförmige Sichtkarte. Es deckt einige der sichtbaren Quadrate ab und so sieht der Benutzer einen unbedeckten Kreis.

enter image description here

+0

Können Sie mir ein Beispiel-Code über Alpha-Maske Alexander Zugabe? Es macht bei mir keinen Sinn :) – mig

+0

Füge ein Bild mit Transparenz (Alphamaske) als Kind zum Spielerobjekt hinzu (so folgt es der Bewegung). Die dunklen Teile werden Nebel nachahmen, das Transparente zeigt, was unter dem Bild sichtbar ist. – Alexander

+0

'[playerObject addChild: transparencySprite];' – Alexander

Verwandte Themen