cocos2d-android学习三 ---- 创建布景层
2014-05-13 17:29
411 查看
上篇文章讲了怎么下载,导入cocos2d-android这个项目文件。
大家可以在gethub这个网站上注册一个帐号,这个应该是全球最大的一个程序社交网站了 晒了很多代码
。
下面开始文章
基本属性:
director.attachInView(mGLSurfaceView)设置应用程序使用的GL视图对象
director.setDeviceOrientation(CCDirector.kCCDeviceOrientationLandscapeLefe)设置程序的方向(横竖屏)
director.setDisplayFPS(true) 显示程序应用的FPS值
director.setAnimationInterval(1.0f / 30)设置每帧所需的时间
生成布景层与场景对象
生成一个布景层,继承CCLayer;
调用CCScene类的node方法生成场景对象;
生成布景层对象,并添加到场景对象中;
好的说了那么多现在让我们创建一个程序吧!!!!
创建一个新的程序,把cocos-android下的所有的东西都拷贝到新程序的lib下
在把cocos2d-android.jar添加到构建路径当中(右击jar->Bulid Path->add to build path)前期工作已经做好了 下面就开可我们程序的编写。
package com.example.fristgame;
import org.cocos2d.layers.CCScene;
import org.cocos2d.nodes.CCDirector;
import org.cocos2d.opengl.CCGLSurfaceView;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
//cocos2d会把图形绘制到该view上
private CCGLSurfaceView view = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
view = new CCGLSurfaceView(this);
setContentView(view);
//得到CCDirector对象
CCDirector director = CCDirector.sharedDirector();
//设置基本属性
//设置当前游戏中所使用的view对象
director.attachInView(view);
//设置游戏显示FPS值
director.setDisplayFPS(true);
//设置游戏渲染一帧所需要的时间
director.setAnimationInterval(1 / 30.0);
//生成一个游戏场景对象
CCScene scene = CCScene.node();
//生成布景层对象
GameLayer gameLayer = new GameLayer();
//将布景层对象添加至游戏场景中
scene.addChild(gameLayer);
//运行游戏场景
director.runWithScene(scene);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
这个类主要是生成图层对象
运行下看看效果
就是一个很黑的界面和FPS值,不过没关系,做到这一步我们的游戏的基本结构已经搭建完成了,
下面一步我们开始向这个界面上绘制内容了。现在什么都没有,但有了这个基础才能绘制内容。
大家可以在gethub这个网站上注册一个帐号,这个应该是全球最大的一个程序社交网站了 晒了很多代码
。
下面开始文章
1、创建一个android程序
2、生成一个SurfaceView对象,作为Activity当中所显示的内容
3、得到CCDirector对象,并通过该对象设置应用程序的各种属性
基本属性:
director.attachInView(mGLSurfaceView)设置应用程序使用的GL视图对象
director.setDeviceOrientation(CCDirector.kCCDeviceOrientationLandscapeLefe)设置程序的方向(横竖屏)
director.setDisplayFPS(true) 显示程序应用的FPS值
director.setAnimationInterval(1.0f / 30)设置每帧所需的时间
生成布景层与场景对象
生成一个布景层,继承CCLayer;
调用CCScene类的node方法生成场景对象;
生成布景层对象,并添加到场景对象中;
好的说了那么多现在让我们创建一个程序吧!!!!
创建一个新的程序,把cocos-android下的所有的东西都拷贝到新程序的lib下
在把cocos2d-android.jar添加到构建路径当中(右击jar->Bulid Path->add to build path)前期工作已经做好了 下面就开可我们程序的编写。
package com.example.fristgame;
import org.cocos2d.layers.CCScene;
import org.cocos2d.nodes.CCDirector;
import org.cocos2d.opengl.CCGLSurfaceView;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
//cocos2d会把图形绘制到该view上
private CCGLSurfaceView view = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
view = new CCGLSurfaceView(this);
setContentView(view);
//得到CCDirector对象
CCDirector director = CCDirector.sharedDirector();
//设置基本属性
//设置当前游戏中所使用的view对象
director.attachInView(view);
//设置游戏显示FPS值
director.setDisplayFPS(true);
//设置游戏渲染一帧所需要的时间
director.setAnimationInterval(1 / 30.0);
//生成一个游戏场景对象
CCScene scene = CCScene.node();
//生成布景层对象
GameLayer gameLayer = new GameLayer();
//将布景层对象添加至游戏场景中
scene.addChild(gameLayer);
//运行游戏场景
director.runWithScene(scene);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
这个类主要是生成图层对象
package com.example.fristgame; import org.cocos2d.layers.CCLayer; public class GameLayer extends CCLayer{ public GameLayer(){ } }
运行下看看效果
就是一个很黑的界面和FPS值,不过没关系,做到这一步我们的游戏的基本结构已经搭建完成了,
下面一步我们开始向这个界面上绘制内容了。现在什么都没有,但有了这个基础才能绘制内容。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- 解決Linux下Android开发真机调试设备不被识别问题
- [Android]在代码里运行另一个程序的方法
- Android多窗口的实现