كيفية استخدام معرف الإيماءات في تطبيق OpenGles لـ iPhone؟

StackOverflow https://stackoverflow.com/questions/3850050

سؤال

على الرغم من أنني أعرف كيفية استخدام معرف الإيماءات في تطبيق قائم على العرض ، ولكن عندما أقوم بتطبيق نفس الأفكار في تطبيق قائم على OpenGlse: على سبيل المثال ، أضيف TapgestereCognizer ، وعندما أنقر على Eaglview ، فإنه يتعطل. فهل يمكن لأي شخص أن يريني استخدامًا قياسيًا لـ UITAPESTURERECOONIZER في تطبيق قائم على OpenGles؟

أفضل التمنيات.

هل كانت مفيدة؟

المحلول

هنا بعض رمز العينة من إحدى ألعاب OpenGles الخاصة بي مع دعم الإيماءات. (لا تحطم وآمل أن يساعد)

- (void)viewDidLoad {
    [super viewDidLoad];

    CGRect  rect = [[UIScreen mainScreen] bounds];
    rect.size.height = 320;
    rect.size.width = 480;
    rect.origin.x = 0;
    rect.origin.y = 0;

    glView = [[EAGLView alloc] initWithFrame:rect pixelFormat:GL_RGB565_OES depthFormat:GL_DEPTH_COMPONENT16_OES preserveBackbuffer:NO];
    [self.view addSubview: glView];

    [glView addSubview: minimapView];

    if(!shell->InitApplication())
        printf("InitApplication error\n");

    [NSTimer scheduledTimerWithTimeInterval:(1.0 / kFPS) target:self selector:@selector(update) userInfo:nil repeats:YES];

    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(Panned:)];
    [glView addGestureRecognizer:[pan autorelease]];    

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Tapped:)];
    [glView addGestureRecognizer:[tap autorelease]];    

    UITapGestureRecognizer *dbltap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(DoubleTapped:)];
    [dbltap setNumberOfTapsRequired:2];
    [glView addGestureRecognizer:[dbltap autorelease]];

    UILongPressGestureRecognizer *longpress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(LongPressed:)];
    [glView addGestureRecognizer:[longpress autorelease]];      
}

ووظيفة المحدد

- (void) LongPressed:(UILongPressGestureRecognizer*)sender{
    NSLog(@"Long Pressed");
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top