-
Q:
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!
InactiefAnoniem18 juni 2013 om 17:04Je 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.
InactiefAnoniem18 juni 2013 om 17:47Ik 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.
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
InactiefAnoniem18 juni 2013 om 18:34Dus 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 ?
koen op 18 juni 2013Dus 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!
Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.