2013-12-18 11 views
9

Ich versuche, eine SKShapeNode mit einem sehr think Schlag (wie 0,25 Pixel) zu machen. Es scheint, dass lineWidth von 1 das kleinste ist, das ich gehen kann, zumindest sieht es auf dem Bildschirm aus, egal welcher Wert kleiner als 1 ist.Wie wird eine Linienbreite kleiner als 1 für SKShapeNode eingestellt?

SKShapeNode *buttonOutline; 
buttonOutline = [[SKShapeNode alloc] init]; 

CGMutablePathRef myPath = CGPathCreateMutable(); 
CGPathAddRoundedRect(myPath, NULL, CGRectMake(0, 0, 100, 30), 10, 10);  
buttonOutline.path = myPath; 
buttonOutline.strokeColor=[SKColor grayColor]; 

buttonOutline.lineWidth= 0.25; 

buttonOutline.name = [NSString stringWithFormat:@"%@-buttonOutline", thisButtonName]; 
buttonOutline.position = CGPointMake(thisXPos,thisYPod); 
buttonOutline.alpha = 1; 

Antwort

12

Versuchen Sie, die Antialias-Eigenschaft auf false zu setzen. Die Antialias fügt einige zusätzliche Pixel hinzu.

// Objective-C 
buttonOutline.antialiased = NO 

// Swift 
buttonOutline.antialiased = false 
+0

Danke, das funktioniert, kann ich nicht diese überall in der Dokumentation finden –

0

Set Maßstab 0,25 und denken Sie daran, dass für richtig gehobene Koordinaten (multipliziert mit 4 in diesem Fall)