一直对物理引擎灰常感兴趣。下面的是一个简单的物理效果演示。
弹跳的小球球,(呵呵,用了它自己的icon,没装PS,小球球没切好)
使用cocos2d-x新建一个box2d的模板工程。
把HelloWorldScene.h换成下面的代码,(如果你用的是cocos2d,记得文件后最是.mm,oc和c++混编时文件要是mm)
//
// HelloWorldScene.h
// testBox2d
//
// Created by Yanghui Liu on 11-11-4.
// Copyright ard8 company 2011年. All rights reserved.
//
#ifndef __HELLO_WORLD_H__
#define __HELLO_WORLD_H__
#include "cocos2d.h"
#include "Box2D.h"
USING_NS_CC;
class HelloWorld : public cocos2d::CCLayer {
public:
~HelloWorld();
HelloWorld();
static cocos2d::CCScene* scene();
void mInit();
b2World *_world;
b2Body *_body;
CCSprite *_ball;
void tick(cocos2d::ccTime dt);
};
#endif // __HELLO_WORLD_H__
下面是cpp文件
//
// HelloWorldScene.cpp
// testBox2d
//
// Created by Yanghui Liu on 11-11-4.
// Copyright ard8 company 2011年. All rights reserved.
//
#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
using namespace cocos2d;
using namespace CocosDenshion;
#define PTM_RATIO 32
HelloWorld::HelloWorld()
{
}
HelloWorld::~HelloWorld()
{
delete _world;
_body = NULL;
_world = NULL;
}
void HelloWorld::mInit()
{
setIsAccelerometerEnabled(true);
CCSize winSize = CCDirector::shar