导航:首页 > 文件教程 > c4droid使用教程

c4droid使用教程

发布时间:2024-06-14 00:34:43

『壹』 c4droid瀹夎呭強浣跨敤娉ㄦ剰璇存槑

闅忕潃瀹夊崜鎵嬫満鍔熻兘鐨勮秺鏉ヨ秺寮哄ぇ锛屽箍澶у︿範缂栫▼浜哄憳鐨勭忛煶鏉ヤ簡锛屽洜涓烘墜鏈轰笂涔熷彲浠ュ︿範鍐欑▼搴忎簡锛屽備綍鍦ㄦ墜鏈轰笂鍐欑▼搴忛偅锛熷氨鏄鐢╟4droad杞浠讹紝浣嗘槸棣栧厛瑕佸畨瑁呮墜鏈篶4droid杞浠讹紝寰堝氭柊鏈嬪弸閮戒笉鐭ラ亾鎬庝箞瀹夎咃紝涓嬮潰鎴戜滑璁蹭竴璁叉庝箞瀹夎呭強缂栫▼浣跨敤璇存槑锛

涓.涓嬭浇绋嬪簭
鏌ョ湅鎵嬫満鍐呭瓨锛屼繚璇佹湁瓒冲熺殑绌洪棿锛堢害100M宸﹀彸鍗冲彲锛夛級锛岀劧鍚庢悳鐙楁悳绱GCC for droid鍜孲DLfor droid锛屾壘鍒颁袱涓鏈鏂版彃浠剁殑鍦板潃锛堜篃鍙浠ュ湪璞岃眴鑽氭垨鍏朵粬杞浠朵笂涓嬭浇锛夛紝涓嬭浇涓や釜鎻掍欢鍜宑4droid涓荤▼搴忋傜綉涓婃湁鍏嶈垂鐨勶紝鑷宸卞姩鎵嬫煡鐪嬩竴涓嬨
涓嬭浇涓や釜鎻掍欢鍜宑4droid涓荤▼搴忋傜綉涓婃湁鍏嶈垂鐨勶紝鑷宸卞姩鎵嬫煡鐪嬩竴涓嬨

浜.瀹夎呰蒋浠
涓嬭浇鍚庡厛瀹夎呬袱涓鎻掍欢锛堜袱涓鍏堝悗鏃犲尯鍒锛夛紝瀹夎呭畬鎴愬悗妗岄潰涓嶄細鏈夊浘鏍囩殑

鎴愬姛鍚庡畨瑁呬富绋嬪簭锛屾彃浠朵細鑷鍔ㄨВ鍘嬶紝瑙e帇鏃惰嚜鍔ㄥ脊鍑轰竴涓绐楀彛锛岀偣鍑粂es灏監K浜嗭紝鑷鍔ㄦ妸鎻掍欢鏁版嵁瑙e帇鍒颁富绋嬪簭浜

缂栧啓绋嬪簭鏃跺湪鑿滃崟/preference/setting complied/G ++锛屽氨鍙浠ョ紪璇慍++

涓.浣跨敤
C++缂栫▼锛氬傛灉涓婇潰涓や釜鎻掍欢閮藉畨瑁呮垚鍔熶簡锛岄偅灏卞彲浠ヨ繍琛孋++绋嬪簭锛岀紪绋嬫椂鎸夌収C++璇瑷鏍囧噯鏉ュ啓锛屽垪濡傦細 #include iostream         锛堜娇鐢–++澶村嚱鏁帮級 using namespace std;         锛堜娇鐢–++鏍囧噯锛 int main() { char a; while(1) {  cout"璇疯緭鍏Y/N锛"endl; cina; if(a=='Y') 锛堜娇鐢–++杩愮畻绗︼級           { cout"鎮ㄨ緭鍏ョ殑鏄痀"endl; break; } if(a=='N') { cout"杈撳叆鐨勬槸N"endl; break;   } cout"杈撳叆鏈夎"endl;  } system("pause"); return 0;} 涓嶇劧浼氭姤閿

C绋嬪簭缂栬瘧锛氬綋鐒讹紝濡傛灉浣犲彧缂栧啓绠鍗曠殑C璇瑷灏卞彲浠ヤ笉瀹夎呴偅涓や釜鎻掍欢锛岃屼笖缂栫▼鏃舵敞鎰忎笉瑕佸啓澶村嚱鏁版枃浠讹紝鍒楀傦細 #include "math.h"      锛堣繖涓琛屼笉瑕佸啓锛屾墜鏈哄唴瀛樺皬锛岃蒋浠堕噷娌℃湁杩欎簺鍑       鏁版枃浠讹紝鍐欎笂浼氭姤閿欙級 main() { long int i,x,y,z; for (i=1;i100000;i++) { x=sqrt(i+100); y=sqrt(i+268); if(x*x==i+100y*y==i+268) printf("\n%ld\n",i); } }

C4鏄鍦ㄦ墜鏈轰笂杩愯岀殑锛屾墜鏈轰笉鍍忕數鑴戜竴鏍峰姛鑳藉己澶э紝鎵浠ュ緢澶氬姛鑳藉湪c4涓婃棤娉曡繍琛岋紝杩欎釜鑷宸辨參鎱㈢悽纾锛屼笉杩囧逛簬鍒濆﹁呮潵璇达紝杩樻槸涓嶉敊鐨勮蒋浠躲傝屼笖c4鍙浠ュ煎嚭.apk绋嬪簭鏂囦欢锛屽彲浠ヨ嚜宸辫瘯璇曞晩
濡傛灉鎵嬫満浠嶆棫鐢ㄤ笉浜嗭紝鎴栬呮槸GCC鍜孲DL鍙鑳芥湁涓涓姝e父锛屼篃鎴栬卌4鍙鐢锛屼絾涓や釜鎻掍欢鐢ㄤ笉浜嗭紝鍙鑳戒細鍥犱负鎵嬫満绯荤粺宸寮傦紝鏈変簺鏈鏂扮増鏈杩愯屼笉浜嗭紝杩欐牱鎹㈡棫鐨勬彃浠剁増鏈閲嶆柊瀹夎呬竴涓嬶紝鍥犱负鐜板湪缃戜笂姣旇緝涔憋紝鏈変簺杞浠舵槸澶х炴敼鐨勶紝鍙堟垨鑰呮墜鏈哄師鍥狅紝鑷宸辨壘鍚э紝涓鑸瀹夊崜鎵嬫満閮藉彲浠ョ敤鐨勶紒

『贰』 手机上怎么编程序

如果你有兴趣在android上设计一些游戏,那么我这儿有一些对你有所帮助的东西,我是android Market上一个名为LightRacer的小赛车游戏的开发者,虽然在此之前我也曾开发过游戏,但这仍然是我的第一个android上的应用,在这个过程中我学到了很多在android上开发游戏的经验,并且,我也很乐意将这一切与你分享。好了,让我们开始吧,如果你之前做过游戏的开发,那么转移到android这样的移动平台上并不是件难事,你要做的只是学习一下新的架构与API,如果你是一个新手,我这儿也为你准备了一个入门清单,它适用于任何类型的游戏开发,比如动作类、策略类、模拟类或者智力类。

开启分步阅读模式
操作方法
01
在这门课最后,你会完成一个可以运行在安卓机或者安卓平板上的游戏。你可以与你的家人朋友分享它,用你的新知识进一步改进你的游戏,或者完全自己创造一个游戏。

02
如果你有兴趣在android上设计一些游戏,那么我这儿有一些对你有所帮助的东西,我是android Market上一个名为LightRacer的小赛车游戏的开发者,虽然在此之前我也曾开发过游戏,但这仍然是我的第一个android上的应用,在这个过程中我学到了很多在android上开发游戏的经验,并且,我也很乐意将这一切与你分享。好了,让我们开始吧,如果你之前做过游戏的开发,那么转移到android这样的移动平台上并不是件难事,你要做的只是学习一下新的架构与API,如果你是一个新手,我这儿也为你准备了一个入门清单,它适用于任何类型的游戏开发,比如动作类、策略类、模拟类或者智力类。

03
获取SDK第一步当然是下载并安装android的SDK[软件开发套件],这套SDK主要包括有核心库文件,一个模拟器,开发工具和一些示范的样例文件。我强烈推荐你使用 Eclipse 和 android eclipse 扩展。如果你只是使用android,Eclipse IDE就已经足够了,但如果这是你第一次开发Java应用,建议你还是下载完整的

04
学习应用架构就像迷人的内在美一样,这是理解
android 应用架构的关键,如果你不学习它,你设计出来的游戏将是一种很难修复bug的产品。你需要了解应用程序、活动、Intents以及它们是如何互相联系交互的,Google在这儿提供了良好的信息架构。真正重要的是,你要理解为什么在你设计的游戏中需要不止一个的活动进程以及如何设计一个用户体验良好的游戏。这些都应当配合到应用的生命周期中。

05
学习应用的生命周期应用的生命周期是由AndroidOS操作系统进行管理的,你的活动进程都将做为系统命令进行创建,正确处理这些事件对一个应用程序来说是极为重要的,因为终端用户不会知道什么是正确的。最好在开始设计你的游戏之前搞明白这些,因为这有助于节省你的调试时间以及避免代价高昂的重新设计。

06
对大多数应用而言,默认设置即可开始工作,但对游戏而言,你可能需要调整单态实例的信号为打开。在默认情况下,Android会新建一个活动实例进程,因为它认为这是比较合适的,而游戏,你可能只希望有一个活动的实例进程,这有一点儿影响,它需要你了解一些系统状态的管理,但对我来说,它解决了资源管理的问题,还是值得的。

『叁』 如何使用OpenSL ES在c4droid中进行声音编程

使用opensl es 的前提条件是在源代码中:
#include <SLES/OpenSLES.h>, 包含 opensl es的头文件
在gcc中:
-lOpenSLES 链接 opensl es的库文件
大休步骤如下:
1.创建声音引擎
2.创建声音播放器
3.设置播放缓冲
opensl es 主要操作的是 介面(interface),大体来说有如下几个介面:
SLObjectItf : 对象介面,
SLEngineItf :引擎介面
SLPlayItf:播放介面
SLBufferQueueItf :缓冲队列介面
SLEffectSendItf:音效发送介面
SLMuteSoloItf : 声道关闭 /单声道介面
SLVolumeItf : 声量介面

除了 slCreateEngine 这一条函数是用来创建声音引擎对象介面以外,其它的所有操作都是通过介面的成员函数完成的,现在我们来研究如何初始化声音引擎
初始化声音引擎需要3个介面,我们要将它们声明为全局变量:
SLObjectItf _aud;/* 声音引擎的对象介面 */
SLEngineItf _aud_eng;/* 声音引擎 */
SLObjectItf _aud_mix;/* 混音器对象介面 */

首先我们创建声音引擎的对象介面 :
slCreateEngine(&_aud, 0, NULL, 0, NULL, NULL);
创建之后的介面并不能立即使用,我们首先要通过介面的子函数实现(Realize)它:
(*_aud)->Realize(_aud, SL_BOOLEAN_FALSE);/* 通过_aud的Realize子函数实现声音引擎的对象介面 */
实现之后,我们从声音引擎的对象中抓取声音引擎,在这里我们通过介面的子函数抓取介面 (GetInterface),抓取对像是 _aud, 抓取类型是引擎,抓取后存放的内存位置是我们先前声明的引擎介面_aud_eng的指针位置。指令如下:
(*_aud)->GetInterface(_aud, SL_IID_ENGINE, &_aud_eng);
这样声音引擎就初始化了
第三步我们要做的是从声音引擎中创建 "输出混音器" 对象,这样我们才可以将声音播放出来。
注意,同 声音引擎的对象一样, 由于 "输出混音器" 是对象,我们必须创建后在实现(Realize)它。
由于"输出混音器"创建的同时需要两个音效参数,所以我们先准备好这两个参数:第一个参数类型是声音介面编号(SLInterfaceID),是一个数组,我们可以将其看成一个音效配置列表,在其中放置不同的音效编号。第二个参数是一个逻辑数组:是否强制实现声音介面编号中对应音效,如果某个音效的逻辑为真(SL_BOOLEAN_TRUE),则在无法实现该音效时视为"输出混音器"创建失败,否则将忽略该音效。因为安卓的声硬件对音效的支持不同,所以最好不要强制实现,所以我们在第二个数组中全部填写SL_BOOLEAN_FALSE 。

现在我们开始创建"输出混音器",环境回响(SL_IID_ENVIRONMENTALREVERB )是比较常见的音效,我们将非强制性的使用该音效。

SLInterfaceID effect[1] = {SL_IID_ENVIRONMENTALREVERB}; /*环境回响音效 */
SLboolean effect_bool[1] = {SL_BOOLEAN_FALSE}; /* 回响音效强制实现逻辑 */
(*_aud_eng)->CreateOutputMix(_aud_eng, &_aud_mix, 1, effect, effect_bool);/* 从声音引擎中创建“输出混音器” */
(*_aud_mix)->Realize(_aud_mix, SL_BOOLEAN_FALSE); /* 实现刚创建的“输出混音器” */
样一来,所有的初始化工作就全部完成了。我们获得如下完整代码:

SLObjectItf _aud;/* 声音引擎对象 */
SLEngineItf _aud_eng;/* 声音引擎 */
SLObjectItf _aud_mix;/* 输出混音器对象 */

/* audio_init: 初始化opensl es */
int audio_init ()
{
SLInterfaceID effect[1] = {SL_IID_ENVIRONMENTALREVERB}; /* 音效 */
SLboolean effect_bool[1] = {SL_BOOLEAN_FALSE}; /*音效强制实现逻辑 */

slCreateEngine(&_aud, 0, NULL, 0, NULL, NULL);/* 创建声音引擎对象 */
(*_aud)->Realize(_aud, SL_BOOLEAN_FALSE);/* 实现声音引擎对象 */
(*_aud)->GetInterface(_aud, SL_IID_ENGINE, &_aud_eng);/* 从声音引擎对象中抓取声音引擎 */
(*_aud_eng)->CreateOutputMix(_aud_eng, &_aud_mix, 1, effect, effect_bool);/* 通过声音引擎创建输出混音器对象,并且非强制性的开启环境混响效果 */
(*_aud_mix)->Realize(_aud_mix, SL_BOOLEAN_FALSE);/* 实现混音器对象 */
}
初始化引擎之后, 我们还要创建一个播放器对象,就可以在播放器中输出声音了
播放器对象和输出混音器一样,是对象,创建后需要进行实现:
SLObjectItf _aud_plyobj; /*播放器对象 */
(*_aud_eng)->CreateAudioPlayer(_aud_eng, &_aud_plyobj, &sndsrc, &sndsnk, 3, ids, req);
/* 这是创建声音播放器对象aud_plyobj的函数 */
前两个参数分别把 声音引擎 和 播放器引擎的指针位置填上就可以了
我们真正需要填写的是后面4个参数 :
sndsrc: 声音数据源
sndsnk:声音输出池(data sink),也就是声音输出设备
3:功能清单数目,我们要让播放器支持3种功能
ids: 功能清单,我们要让播放器支持的功能
req:功能强制实现逻辑

阅读全文

与c4droid使用教程相关的资料

热点内容
微软平板开机密码设置 浏览:978
linux删除一行的快捷键 浏览:269
win10改hosts文件 浏览:354
数据博世怎么样 浏览:411
用tar解包没有那个文件或目录 浏览:307
录歌教程 浏览:604
java小数进制转换 浏览:270
80后qq头像女生 浏览:388
word2013页面颜色 浏览:661
linux系统安装显卡驱动 浏览:243
手机安卓培训机构 浏览:819
英语版本的哈面宝宝 浏览:567
手机动态壁纸教学视频教程 浏览:543
网络摄像机sip 浏览:757
湘潭编程学校哪里好 浏览:389
win10设置桌面小图标怎么去掉吗 浏览:122
网络安全创业 浏览:787
修改linux 浏览:464
如何编程计算机cpu高占用程序 浏览:808
程序员活动策划方案 浏览:130

友情链接