Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7599921
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T22:46:48+00:00 2026-05-30T22:46:48+00:00

I have got this code that I used before, but now that it I

  • 0

I have got this code that I used before, but now that it I have subclassed my sprite, I need to adapt it. Here it is:

-(void)moveRandom:(CCSprite*)mos
{
CGPoint randomPoint = ccp(arc4random()%480, arc4random()%320);
NSLog(@"%@", NSStringFromCGPoint(randomPoint));

CGPoint start = mos.position;
CGPoint end = randomPoint;
float distance = ccpDistance(start, end);
float duration = distance/450;
[mos runAction:
 [CCSequence actions:
  [CCMoveTo actionWithDuration:duration position: randomPoint],
  [CCCallBlock actionWithBlock:^{
     [self performSelector:@selector(moveRandom:) withObject:mos afterDelay:0.5];
 }],
  nil]
 ];
}

What it does is that it chooses a random point on the screen, then it makes it so that the sprite moves at a constant speed between the two points, then it moves the sprite, and re-calls the method.

EDIT:
The reason that I want to do this is because I will instances of this sprite in my sprite’s layer, and they are all going to be doing this method.

Should I not be incorporating this in my CCSprite subclass, but more like my sprite’s layer?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T22:46:50+00:00Added an answer on May 30, 2026 at 10:46 pm

    Typically, in an OO way, the subclass of CCSprite would be responsible for itself (encapsulated). So when you wanted the sprite to move you (or the object to which the subclass of CCSprite is exposed) would call its moveRandom method. Then it would do the moving all on its own without the CCLayer to which it’s attached knowing anything about how it achieved the move.

    The method in the subclass of CCSprite would look like this:

    @interface AnotherSprite : CCSprite {}
    
    -(void) moveRandom;
    
    @implementation AnotherSprite
    
    -(void)moveRandom
    {
        CGPoint randomPoint = ccp(arc4random()%480, arc4random()%320);
        NSLog(@"%@", NSStringFromCGPoint(randomPoint));
    
        CGPoint start = self.position;
        CGPoint end = randomPoint;
        float distance = ccpDistance(start, end);
        float duration = distance/450;
        [self runAction:
            [CCSequence actions:
                [CCMoveTo actionWithDuration:duration position: randomPoint],
                    [CCCallBlock actionWithBlock:^{
                        [self performSelector:@selector(moveRandom) withObject:nil afterDelay:0.5];
                    }],
            nil]
        ];
    }
    
    @end
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have got a piece of code, that should countdown some number (in this
Code is not running on .click when I have this: $(.cancel).click(function() { alert(got here);
I know this is simple, but I haven't used Zend_Gdata before, so I need
I have never used JodaTime before, but answering this question, How to get ordinal
I have got this code: XDocument xdoc = XDocument.Load(URI); XElement root = xdoc.Element(forecast); //get
I have got this code and I am trying to understand the convention followed,
I have got some javascript code and I'd like to convert this to C#.
I have this but I got an error: -- test if a list contains
I have not used PackedArray before, but just started looking at using them from
I've seen many questions about this, but i've never really got the answer that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.