# Tag Info

## Hot answers tagged cocos2d-iphone

10

Well, you'll have to use a little bit of physics, but you don't need to simulate any physics. There are formulas for pendulum motion you can easily use to set the rotation of your pendulum. For small swings, the motion can be approximated with simple harmonic motion. The angular displacement at a specific time can be approximated with: This is most ...

4

Here is a no-trig calculation, derived from straight-forward Grade 11 Trig and Physics. It assumes that the origin is the lowest point of the pendulum bob's suspension, that L is the length of the pendulum, and that the normal graphics convention of y increasing down, and x increasing to the right is adopted: Update: I messed up yAcceleration initially; ...

4

If the enemy waves only effect one player (the one that plays the game), then I really see no need to put this logic on an external server. Having a server would also require an internet connection which can't be taken for granted (especially on iPods and iPads). You could simply store the time when your game exits or goes to the background. Upon relaunch ...

3

Good points from NauticalMile. You could download one of many free textures that are already set up to tile nicely, or create one yourself using Photoshop or similar. To make the scaling match use the length of the wood pieces as the tiling factor. Alternately if you are strongly against visible repetition you could use a pixel shader instead of a texture. ...

3

There's a special class available in cocos2d that renders a ribbon of quads for you. At one point it was named CCRibbon, but I think it has been changed to CCMotionStreak (docs). It's designed to render trails or ribbons. I think using that class would be the most efficient way to create such an effect.

3

Add a new Layer and put there a Menu object with the buttons you need. Make the layer visible when the game is over.

3

I think you're getting your pixel coordinates and tilemap coordinates confused. Tile coordinates count tiles. Pixel coordinates count pixels. To convert from a pixel coordinate to a tile coordinate, divide the click_x by the tile width and the click_y by the and tile height, to get the tile coordinates x and y. (Discard the remainders to get an integer.) ...

3

The difficulty of an endless runner is dependent on a few things, first of all the size of the obstacles and different types of obstacles, typically it's best to just hardcode when different obstacles can appear and use a formula for sizes (especially when you can only use a given dodge ability for a certain amount of time). A good formula for the size of ...

3

One option is to overlay a texture that has a blend mode of Multiply set to it over your tiles. The overlay texture would be almost black (dark shades of grey) all around, except for the area you want to be fully visible, which would be white. Multiply blend mode will darken all the black areas and the white areas would remain unaffected. Here is a sample ...

2

This question is several weeks old, but I thought I would answer in the event you were still looking for assistance, or too perhaps help someone else down the line. Please note that the way you are loading the spritesheet using CCSpriteFrameCache is correct, but it does nothing more than add the contents of the spritesheet to memory. You then need to ...

2

Do as ryrich said, however the actual code on Objective-C would be something like this: (Assuming your CCNode class is called "Seal") int sealCounter = 0; for (id *node in self.children) { if ([node isKindOfClass:[Seal class]]) { sealCounter++; } }

2

Let's speak radians. Your angle is clamped to a real range and from what I can see from your video I would say between −π/2 and 3π/2. Now you can also view angles in different ways, for example as points on a circle. This is clearly the intuitive way to see your problem : in your case the tip of your ship is the considered “angle point” on the circle. ...

2

Regarding the info found here, currently there is no official way to achieve this but they are working on it. Meanwhile you can download the "standalone template" found in the same link.

1

Your example shows parallax movement, it's just in two dimensions. Commonly parallax movement is only displayed for the X axis. You simply need to extend your existing parallax code to apply to the Y axis in addition to the X axis.

1

It appears that setting self.hitAreaExpansion might be the answer, however it only needs to be set to the difference between the edge of the view field and the edge of the map, for the largest difference on either axis. In this case the map is square, 1600 x 1600, and the view port is 320 x 480, so the greatest distance is 1600 - 320 = 1280. self....

1

If you are using DFS starting from the top, all unvisited nodes should drop. The top should be an invisible node connected to all top bubbles (in the top row). One thing worth noting, is that unlike the current DFS which is checking for color equality, the functionality you should use for deciding which bubbles to drop because they are hanging in the air ...

1

It looks like it is probably based on curves - like maybe piecewise Bezier curves, or maybe B-splines. Internally in the code they could also be using hermite splines, catmul-rom splines or some other variant but without seeing the code its nearly impossible to tell what specific curve is being used since many of the above are visually equivalent, but are ...

1

By "endless levels" do you mean that there is no limit to the number of waves i.e. the waves keep coming until game-over? If so then you need to develop an algorithm that takes the wave number as an input and returns an set of enemies suitable for that wave. The most trivial of these would be to take the wave number and return a number of enemies or as ...

1

Basic sprite animation is really simple: int frame_to_play = (game_tick * target_fps / tick_rate) % number_of_frames; The result will tell you which frame (the frame_to_play-th) to show. game_tick would be some kind of frame counter that just counts up (has to tick at least as fast as your animation is meant to be played). target_fps is the framerate at ...

1

it seems i was having memory Issue : i Change my code like this : In updateCacheImage method : You need to put Your imageContext in AutoReleaspool to free up your memory. @autoreleasepool { // init a context UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 0.0); //End Context UIGraphicsEndImageContext(); } i also have make my objects ...

1

Have you looked into CCPhysicsSprite? Otherwise you can use the b2body.userData pointer to store sprite information after you've created your physics body.

1

It looks like your image has an anti aliasing at it's border. You can either fix this in photoshop or you could use a program like texturepacker that will extend your picture a pixel and remove this border.

1

Don't know if this will help but here is the code for a game where we have moving clouds in the background. Is very old but will get you an idea. -(id) init{ if( (self=[super init] )) { first = [CCSprite spriteWithFile:@"clouds_1.png"]; firstWidth = first.contentSize.width; height = first.contentSize.height; second = [...

1

int Width = 2500; int Height = 1500; CCLayerPanZoom *Zooming = [[CCLayerPanZoom alloc] init]; self.Zooming.mode = kCCLayerPanZoomModeSheet; self.Zooming.panBoundsRect = CGRectMake( 0, 0, mapWidth, mapHeight ); // zooming level self.Zooming.minScale = 1.0f; self.Zooming.maxScale = 8.0f; self.Zooming.rubberEffectRatio = 0.0f; // center in the view ...

1

I have not come across a way to define the type of axis that you're talking about, however I can offer a method that I've used to overcome this issue. The best method, and most easily explained to the artists on the project, is to make all the sprite frames for all animations for a particular character the exact same sizes. For example, if your character ...

1

Solved the problem finally. Had to use custom openGL shaders for coloring one of the objects completely RED and the other completely BLUE and then looping through all the pixel data collected using glReadPixels to find if a pixel has both RED and BLUE colors. In depth information and source code can be found in my blog post - http://blog.muditjaju....

1

I think it's a matter of preference. Depending on the type of game, the MVC architecture might be a good fit, sometimes/mostly it will feel out of place though. I have used it for puzzle games before (eg. your board is the model, the controller handles user input and makes the changes on the board and a view that renders these changes). Another architecture ...

1

First, are you running on the simulator or a real iOS device? The device runs many times faster than the simulator. The simulator doesn't do hardware vertex processing. So the simulator slows down quite a bit with only a little load. If its slowing down on the simulator, that's not really an indication that it will be slow on an actual device at all. ...

1

I just put my logic. You have updateRunning method, in this method you have a logic of move coin at right to left. Here you need to use CCMoveTo Action, // move the coin until it leaves the left edge of the screen if (coin.position.x > (coin.contentSize.width * (-1))) { [coin runAction: [CCSequence actions: // Here set MoveDuration as you need ,...

Only top voted, non community-wiki answers of a minimum length are eligible