Jump to content

objekta kustība uz x ass ar Sprite Kit izmantojot arc4random


artG
 Share

Recommended Posts

Es veidoju savu pirmo lietotni, kurā  bumbiņa krīt un atsitoties pret zemi, tā nedaudz maina kustību pa labi vai kreisi. Tā tad te ir koda daļa kas man ir:

ball.physicsBody.velocity = CGVectorMake(0, -20);
        if(ball.physicsBody.velocity.dy < -20)
            ball.physicsBody.velocity = CGVectorMake(arc4random_uniform(50) -10, - ball.physicsBody.velocity.dy);

 kods ir pavisam vienkāršs, bet dažreiz bumbiņai parādoties, tā sitās pa labās un kreisās sienām mežonīgā ātrumā, bet tas notiek tikai tad,kad arc4random_uniform(50) -10 ir negatīvs skaitlis, kamēr rezultats ir pozitīvs viss  strādā kā vajag, tā pat ja

ball.physicsBody.velocity = CGVectorMake(0, -20);
        if(ball.physicsBody.velocity.dy < -20)
            ball.physicsBody.velocity = CGVectorMake(-10, - ball.physicsBody.velocity.dy);

viss strādā, bet vēlos uztaisīt lai, tas strādātu jauktā secībā ar dažādiem ātrumiem. Ko es daru nepareizi?

Link to comment
Share on other sites

Minējums, neredzot kopējo ainu un nezinot konkrēto freimvorku - normalizē to mainīgo.

Ieliec rindiņu pirms tam, newXvelocity = arc4random_uniform(50) - 10;

If < 0

newXvelocity = 0; // beidzās atsitieni, bumba nomierinājās. Vai modulis no tās vērtības, izvairoties no negatīvām.

Labots - usver
Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...