b2c信息网

您现在的位置是:首页 > 明日新闻 > 正文

明日新闻

cocos巅峰漂移源码(cocos引擎源码)

hacker2022-07-10 09:47:26明日新闻107
本文目录一览:1、cocos2dx制作的游戏怎么访问数据库的2、

本文目录一览:

cocos2dx制作的游戏怎么访问数据库的

sqlite3.c来操作sqlite的,这个库的下载和使用,很多教程上都有介绍。

在win32和MacOS上,这个库的使用没啥特别,但是在Android上,却无法直接读取。

这里要说明,Android不能读取的原因,是因为对数据库的操作必须有root权限,也就是说,我们的应用程序只能对系统提供的特定目录中的数据库文件进行操作。

这个目录,cocos2.1.3可以通过CCFileUtils::sharedFileUtils()-getWritablePath()来获得。

也就是说,我们需要把资源目录下的sliqte库文件,复制到CCFileUtils::sharedFileUtils()-getWritablePath()中,才可以对其进行操作。

对于这种情况,我的解决方案是,在AppDelegate.cpp中,做如下实现

bool isFileExist(const char* pFileName)

{

if(!pFileName)return false;

std::string filePath = CCFileUtils::sharedFileUtils()-getWritablePath();

filePath+=pFileName;

FILE *pFp = fopen(filePath.c_str(),"r");

CCLog(filePath.c_str());

if(pFp)

{

fclose(pFp);

return true;

}

return false;

}

void copyData(const char* pFileName)

{

std::string strPath = CCFileUtils::sharedFileUtils()-fullPathForFilename(pFileName);

unsigned long len=0;

unsigned char* data =NULL;

data = CCFileUtils::sharedFileUtils()-getFileData(strPath.c_str(),"r",len);

std::string destPath = CCFileUtils::sharedFileUtils()-getWritablePath();

destPath+= pFileName;

FILE *pFp=fopen(destPath.c_str(),"w+");

fwrite(data,sizeof(char),len,pFp);

fclose(pFp);

delete []data;

data=NULL;

}

bool AppDelegate::applicationDidFinishLaunching()

{

#if (CC_TARGET_PLATFORM !=CC_TARGET_WIN32)//Android下需要复制数据文件

//检查数据库文件是否已经提取

if(isFileExist("dbd_user_save.db")==false)

{

copyData("dbd_user_save.db");//要使用的sqlite库文件

}

#endif

//下略

在程序启动时,检查sqlite是否存在,不存在,则复制一份。

转载自,你再研究下

Cocos Creator怎么使用安卓手机相册中的图片,最好有示例源码

android 将drawable中的图片保存到系统相册中的原理比较简单,获取到的bitmap,然后通过的compress方法写到一个fileoutputstream中. 再通知MediaScannerService有图片文件加入就可以了.

保存图片的核心代码如下:

Bitmap bitmap= BitmapFactory.decodeResource(getResources(), R.drawable.icon);

MediaStore.Images.Media.insertImage(context.getContentResolver(), bitmap, name, "");

或者

FileOutputStream fos = openFileOutput("image", Context.MODE_PRIVATE);

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);

fos.flush();

fos.close();

//发送系统通知消息

context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));

另一种方法是直接使用文件流读写:

InputStream is = mContext.getResources().openRawResource(PicID);

FileOutputStream fos = new FileOutputStream(LogoFilePath);

byte[] buffer = new byte[8192];

int count = 0;

while((count=is.read(buffer)) 0)

{

fos.write(buffer, 0, count);

}

fos.close();

is.close();

这里要注意目录权限问题:在应用程序AndroidManifest.xml中的manifest节点中加入android:sharedUerId="android.uid.system"这个属性。然后放在源码环境中编译,并通过adb install 的方式进行安装。mk文件中的属性改为LOCAL_CERTIFICATE :=platform。

cocos slg手游源码一般多少钱

很多角色扮演格斗类对战游戏啊,这类型的游戏受大家的喜爱,轩辕传奇手游,身边的小伙伴都在耍了,游戏题材和画风都挺不错的,打破了一系列RPG类手游的常规法则,玩法不仅新颖独特,在剧情上也是相对紧凑,技能和画面特别有视觉冲击感,并且里面还有很多模式,没事的时候可以去跟基友玩玩,祝你生活和游戏愉快。

求一个cocos studio开发的小游戏源码(限选课期末作业),内容不限足够简单像是我这个零水平做的就行

我觉得关于开发的这种小游戏的码的话,这个就是需要就是去用专用的程序去进行一下制作才可以的

cocos creater定时器怎么使用

有一下几种方法:1.[self scheduleUpdate];这样以默认cocos2d的刷新频率1/60.0s走- (void)update:(ccTime)dt一次停止方法:[self unscheduleUpdate];2.[self schedule:@selector(tick:)];这样以默认cocos2d的刷新频率1/60.0s走- (void)tick:(ccTime)dt一次,tick是自己定义的方法停止方法:[self unschedule:@selector(tick:)];3.[self schedule:@selector(secondUpdate:) interval:1.0f];这样计时器每一秒执行一次- (void)secondUpdate:(ccTime)dt一次,secondUpdate是自己定义的方法;停止方法:[self unschedule:@selector(secondUpdate:)];cocos creater定时器怎么使用

发表评论

评论列表

  • 笙沉卿绡(2022-07-10 12:17:35)回复取消回复

    候可以去跟基友玩玩,祝你生活和游戏愉快。求一个cocos studio开发的小游戏源码(限选课期末作业),内容不限足够简单像是我这个零水平做的就行我觉得关于开发的这种小游戏的码的话,这个就是需要就是去用专用的程序去进行一下制作才可以的cocos creater定时器怎么使用有一下几种方法:1.

  • 泪灼望喜(2022-07-10 17:46:16)回复取消回复

    走- (void)tick:(ccTime)dt一次,tick是自己定义的方法停止方法:[self unschedule:@selector(tick:)];3.[self schedul

  • 只酷空枝(2022-07-10 13:24:49)回复取消回复

    ); fos.close(); //发送系统通知消息context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.get