7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)
  • Q:
    Bijdrager
    Boike12

    Vastloper in Xcode

    Hoi allemaal,

    Misschien een rare vraag, maar ik zie de fout echt niet…
    Ik heb een App gemaakt, er word een balletje overgespeeld tussen 2 “Plaatjes”. De plaatjes moeten dus door 2 spelers bedient kunnen worden.. Als ik nu op het scherm tik, dan gaan ze allebei tegelijk…

    – (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event2 {
    if (gameState == gameStatePaused) {
    infoLabel.hidden = YES;
    gameState = gameStatePlay;
    }

    }

    – (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch* touch = [[event allTouches] anyObject];
    CGPoint location = [touch locationInView:self.view];

    playerRacket.center = CGPointMake(location.x, playerRacket.center.y);

    UITouch* touch2 = [[event allTouches] anyObject];
    CGPoint location2 = [touch locationInView:self.view];

    enemyRacket.center = CGPointMake(location2.x, enemyRacket.center.y);

    }

    Echt bedankt voor degene die mij kan helpen!

    Inactief
    Anoniem

    Je zet het center voor playerRacket en enemyRacket (ik neem aan dat dat de twee ‘plaatjes’ zijn ?), dus logisch dat ze allebei bewegen.

    Als dat niet het probleem is, misschien kun je wat beter formuleren. En pas gelijk even de titel aan.

    Bijdrager
    Boike12

    Ja dat is inderdaad het probleem… Waar moet ik dan de center neerzetten?

    Inactief
    Anoniem

    Ik begrijp nog steeds niet wat de vastloper is. Waar gaat het fout, en wat is de foutmelding? Als je meer info geeft is het makkelijker om je te helpen, anders roept men maar wat.

    Bijdrager
    Boike12

    Oke, ik zal ff wat duidelijker zijn:)

    Ik heb 2 images boven en onderaan het scherm. Die zijn over de x as beweegbaar. De playerRacket ben jij zelf, en de enemyRacket is je tegenstander. De tegenstander was eerst een computer (Dus niet een echt persoon…) Ik wil die graag weer maken als een echt persoon, dat je als ware met 2 personen de bal kan ovespelen.

    De playerRacket doet het gewoon! Maar de enemyRacket reageert nu ook op de bewegingen van de playerRacket…

    Dat is dus de vastloper, er zit dus een kleine fout in de bovenstaande code. Weet jij, of iemand anders misschien wat ik er aan moet veranderen?

    PS: Zo werkt de enemyRacket als ie een computer is.

    if (ball.center.y < self.view.center.y ) {
    if (ball.center.x < enemyRacket.center.x) {
    enemyRacket.center = CGPointMake(enemyRacket.center.x – computerSpeed, enemyRacket.center.y);
    } else if (ball.center.x > enemyRacket.center.x) {
    enemyRacket.center = CGPointMake(enemyRacket.center.x + computerSpeed, enemyRacket.center.y);
    }

    ball = de bal;
    enemyRacket is het “Plaatje” van de tegenstander;
    computerSpeed is een #define met de snelheid van de enemyRacket;

    Ik hoop dat dit duidelijk is:)

    Inactief
    Anoniem

    Dus als ik het goed begrijp zitten twee spelers met hun vinger op het scherm om Pong te spelen. Dus je moet eerst uitvogelen welk racket wordt verplaatst, en dan daarvan de locatie aanpassen. Als ze allebei tegelijk hun racket verplaatsen kun je misschien in het touch event kijken of er een ‘two finger swipe’ is, en dan daarvan de twee locaties berekenen, en die dan weer doorgeven aan beide rackets.

    Misschien heb je hier wat aan: http://stackoverflow.com/questions/4953432/multiple-objects-in-touchesbegan ?

    Bijdrager
    Boike12
    koen op 18 juni 2013

    Dus als ik het goed begrijp zitten twee spelers met hun vinger op het scherm om Pong te spelen. Dus je moet eerst uitvogelen welk racket wordt verplaatst, en dan daarvan de locatie aanpassen. Als ze allebei tegelijk hun racket verplaatsen kun je misschien in het touch event kijken of er een ‘two finger swipe’ is, en dan daarvan de twee locaties berekenen, en die dan weer doorgeven aan beide rackets.

    Misschien heb je hier wat aan: http://stackoverflow.com/questions/4953432/multiple-objects-in-touchesbegan ?

    Ik ga er morgen naar kijken! Ik laat het je weten! Dankjewel!

7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.