完整的代码在这里我的问题是:
我已在Android v2.3(Gingerbread)操作系统上测试了此代码
这个问题是因为cocos 2d库请提前告知我...
import org.cocos2d.layers.CCColorLayer;
import org.cocos2d.layers.CCLayer;
import org.cocos2d.layers.CCScene;
import org.cocos2d.nodes.CCDirector;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.opengl.CCGLSurfaceView;
import org.cocos2d.types.CGPoint;
import org.cocos2d.types.CGSize;
import org.cocos2d.types.ccColor4B;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;
public class GameActivity extends Activity {
private CCGLSurfaceView mGLSurfaceView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Log.d("hii", "m here on create");
// set the window status, no tile, full screen and don't sleep
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mGLSurfaceView = new CCGLSurfaceView(this);
setContentView(mGLSurfaceView);
// attach the OpenGL view to a window
CCDirector.sharedDirector().attachInView(mGLSurfaceView);
// no effect here because device orientation is controlled by manifest
CCDirector.sharedDirector().setDeviceOrientation(CCDirector.kCCDeviceOrientationPortrait);
// show FPS
// set false to disable FPS display, but don't delete fps_images.png!!
CCDirector.sharedDirector().setDisplayFPS(false);
// frames per second
CCDirector.sharedDirector().setAnimationInterval(1.0f / 60);
CCScene scene = TemplateLayer.scene();
// Make the Scene active
CCDirector.sharedDirector().runWithScene(scene);
}
@Override
public void onStart() {
super.onStart();
Log.d("hii", "m here on start");
}
@Override
public void onPause() {
super.onPause();
Log.d("hii", "m here on pause");
CCDirector.sharedDirector().pause();
}
@Override
public void onResume() {
super.onResume();
Log.d("hii", "m here on resumae");
CCDirector.sharedDirector().resume();
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d("hii", "m here on destroy");
CCDirector.sharedDirector().end();
}
public static class TemplateLayer extends CCColorLayer
{
CGSize winSize = CCDirector.sharedDirector().displaySize();
//killing sprite
CCSprite killerchild,boat,pirates;
public static CCScene scene()
{
CCScene scene = CCScene.node();
CCLayer layer = new TemplateLayer(ccColor4B.ccc4(0, 225, 145, 146));
scene.addChild(layer);
return scene;
}
@Override
public void onEnter() {
// then iterate over all the children
super.onEnter();
}
@Override
public void onExit() {
super.onExit();
}
protected TemplateLayer(ccColor4B color)
{
super(color);
this.setIsTouchEnabled(true);
killerchild = CCSprite.sprite("logo.png");
killerchild.setAnchorPoint(CGPoint.ccp(0, 0));
killerchild.setPosition(CGPoint.ccp(winSize.width/2-killerchild.getContentSize().width/2, winSize.height-killerchild.getContentSize().height));
addChild(killerchild);
boat = CCSprite.sprite("boat.png");
boat.setAnchorPoint(CGPoint.ccp(0, 0));
boat.setPosition(CGPoint.ccp(winSize.width/2-boat.getContentSize().width/2,-boat.getContentSize().height/4));
addChild(boat);
pirates = CCSprite.sprite("Pirates.png");
pirates.setAnchorPoint(CGPoint.ccp(0, 0));
pirates.setPosition(CGPoint.ccp(winSize.width/2-pirates.getContentSize().width/2,winSize.height/2-pirates.getContentSize().height/2));
addChild(pirates,-1);
}
}
}
答案 0 :(得分:0)
在TemplateLayer类中扩展CCColorLayer:
public static CCScene scene() {
CCScene scene = CCScene.node();
CCLayer layer = new TemplateLayer(ccColor4B.ccc4(0, 225, 145, 146));
scene.addChild(layer);
return scene;
}
并将Template Layer()构造函数更改为:
TemplateLayer(ccColor4B color){
super(color);
}
运行项目
答案 1 :(得分:0)
我认为这是一个问题,因为你用于cocos 2D的jar文件。我用过我的罐子,我没有得到这个问题。请从下面的链接下载并查看。
请查看此图书馆,如果问题仍然存在,请与我们联系。