Ich dachte, Sie könnten UIKit Slider/oder Schaltfläche zu Ihrem Sprite Kit App hinzufügen.Sprite Kit iOS7 - Hinzufügen Slider
aber kann nicht herausfinden, wie dies zu tun, wird der Code einen Schieber programmatisch zu erstellen ist
if (self.view) {
CGRect frame = CGRectMake(0.0, 0.0, 200.0, 300);
UISlider *slider = [[UISlider alloc] initWithFrame:frame];
//[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = 50.0;
slider.continuous = YES;
[self.view addSubview:slider];
NSLog(@"View is alive - look for slider...");
}
else {
NSLog(@"No View!!");
}
oben Das funktioniert nicht, bleibt die Anzahl der Subviews der Ansicht, die gleichen
Ich gehe davon aus Ich muss es meinem Layer (SKNode) als Kind hinzufügen, aber die Methode addChild funktioniert nicht mit einem UISlider. Es muss ein SKNode selbst sein.
ich diese Klasse in der Szene hier
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
// thought putting here would work
// but self.view is nil
}
return self;
}
Dank kommentieren, nenne kann ich es zeigen - aber ich muss hinzufügen, in innerhalb der Viewcontroller Klasse, wie diese
- (void)viewDidLoad
{
[super viewDidLoad];
// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;
// Create and configure the scene.
SKScene * scene = [XBLMyScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
// Present the scene.
[skView presentScene:scene];
if (self.view) {
CGRect frame = CGRectMake(0.0, 0.0, 200.0, 300);
UISlider *slider = [[UISlider alloc] initWithFrame:frame];
//[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = 50.0;
slider.continuous = YES;
NSLog(@"View is alive - look for slider...");
[self.view addSubview:slider];
} else {
NSLog(@"No View!!");
}
}
gibt es nicht weg, um ihn in der aktuellen Szene-Klasse zu tun ....
Dank
wenn dieser Code ausgeführt hat? Vielleicht bevor die Ansicht initialisiert wird? Überprüfen Sie, ob die Ansicht nicht-null ist. – LearnCocos2D
Es wurde direkt am Ende der üblichen Eingänge hinzugefügt, nachdem ich andere Elemente auf dem Bildschirm hinzugefügt habe. – DogCoffee
Nein wird nicht aufgerufen ... selbst über Frage bearbeiten. – DogCoffee