playeffect 和 playbacklaras playground种子music的区别

当前访客身份:游客 [
要么读书,要么旅行,身体和灵魂总有一个在路上
:这本书讲得非常好~
:网友你真好 我现在是运行在开发板上出现的问题 ...
:QSqlQuery::value: not positioned on a valid r...
:用的是时间到后自己去串口检查的方法,有没有可以...
:谢谢楼主
:/joke/ 网站记下了。顺便...
:你好,我用Xcode 连接 os的git ,但是总提示我用户...
今日访问:79
昨日访问:44
本周访问:79
本月访问:2961
所有访问:30750
列表模式: |
今天,一哥们去某公司面试iOS职位。其中一道题目问,加载一张图片,到底会不会崩溃呢?
我拿到这个问题,当时以为是获取网络图片,那还是可能崩溃的,但实际问题,还有半句,图片是本地的。。。
这问题,加载本地的怎么会崩溃呢?写这么久加载图片也没遇到如此问题。
===================================================
原来,iPhone毕竟是手持设备,它所占有的内存是有限的,当图片过大的时候会引起内存导致的崩溃现象。
IPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息。收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露。
app收到Memory Warning后会调用:
UIApplication::didReceiveMemoryWarning -& UIApplicationDelegate::applicationDidReceiveMemoryWarning,然后调用当前所有的viewController进行处理。因此处理的主要工作是在viewController。
创建viewcontroller时,执行顺序是loadview -& viewDidLoad。
当收到内存警告时,如果viewcontroller未显示(在后台),会执行didReceiveMemoryWarning -& viewDidUnLoad;如果viewcontroller当前正在显示(在前台),则只执行didReceiveMemoryWarning。
当重新显示该viewController时,执行过viewDidUnLoad的viewcontroller(即原来在后台)会重新调用loadview -& viewDidLoad。
后来,我又查了下,发现,原来还有这么大学问。
Apple官方的文档为生成一个UIImage对象提供了两种方法加载图片:
1.&imageNamed,其参数为图片的名字;
2.&imageWithContentsOfFile,其参数也是图片文件的路径。
那么两种有什么区别吗?
肯定是有的。根据Apple的官方文档:
imageNamed:&这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象如果它存在的话。如果缓存中没有找到相应的图片,这个方法从指定的文档中加载然后缓存并返回这个对象。因此imageNamed的优点是当加载时会缓存图片。所以当图片会频繁的使用时,那么用imageNamed的方法会比较好。例如:你需要在&一个TableView里的TableViewCell里都加载同样一个图标,那么用imageNamed加载图像效率很高。系统会把那个图标Cache到内存,在TableViewCell里每次利用那个图像的时候,只会把图片指针指向同一块内存。正是因此使用imageNamed会缓存图片,即将图片的数据放在内存中,iOS的内存非常珍贵并且在内存消耗过大时,会强制释放内存,即会遇到memory&warnings。而在iOS系统里面释放图像的内存是一件比较麻烦的事情,有可能会造成内存泄漏。例如:当一个UIView对象的animationImages是一个装有UIImage对象动态数组NSMutableArray,并进行逐帧动画。当使用imageNamed的方式加载图像到一个动态数组NSMutableArray,这将会很有可能造成内存泄露。原因很显然的。
imageWithContentsOfFile:仅加载图片,图像数据不会缓存。因此对于较大的图片以及使用情况较少时,那就可以用该方法,降低内存消耗。
下面列举出两种方法的详细用法:
NSString&*path&=&[[NSBundle&mainBundle]&pathForResource:@”icon”&ofType:@”png”];
UIImage&*image&=&[UIImage&imageWithContentsOfFile:path];
&NSString&*filePath&=&[[NSBundle&mainBundle]&pathForResource:fileName&ofType:“png”];
&NSData&*image&=&[NSData&dataWithContentsOfFile:filePath];
&UIImage&*image&=&[UIImage&imageWithData:image];&//or&=&[UIImage&imageWithContentsOfFile:filePath];
关键,在于
imageWithContentsOfFile:仅加载图片,图像数据不会缓存
imageNamed:先将图片缓存到内存中,然后在显示。
====================================================
以后即为题目的解答,分析应该是八九不离十了,如果你们有不懂的意见,可以告诉我哈,互相进步。
发布于 10个月前,
阅读(484) | 评论(1) |
投票(0) | 收藏(6)
一、自定义TabBar选项卡背景
UITabBarController&*tabBarController&=&[[UITabBarController&alloc]&init];
//&获取选项卡控制器视图的所有子视图,保存到一数组中
NSArray&*array&=&[tabBarController.view&subviews];
//&索引值为1的应该就是TabBar
UITabBar&&*tabBar&=&[array&objectAtIndex:1];
//&UIImage&*image&=&[UIImage&imageNamed:@&tabbarbg.png&];
UIImage&*image&=&[UIImage&imageWithContentsOfFile:sourcePath];
tabBar.layer.contents&=&(id)image.CGI
tabBarController&=&[[UITabBarController&alloc]&init];
[tabBarController&setViewControllers:&view_manager];
UIImageView&*tab_imgv&=&[UIImageView&alloc]&initWithImage:[UIImage&imageNamed:@&tabbar_bg.png&]];
tab_imgv.frame&=&CGRectMake(0,0,320,49);
tab_imgv.contentMode&=&UIViewContentModeScaleToF
//&为什么atIndex是1,看SDK
[[tabBarController&tabBar]&insertSubview:tab_imgv&atIndex:1];
[tab_imgv&release];
[view_manager&release];
UITabBarController&*tabBarController&=&[[UITabBarController&alloc]&init];
//&初始化一矩形视图框架
CGRect&frame&=&CGRectMake(0,0,320,49);
UIView&*v&=&[[UIView&alloc]&initWithFrame:frame];
//&以图片为平铺的颜色模板,初始化颜色
UIImage&*img&=&[UIImage&imageNamed:@&tabbarbg.png&];
UIColor&*color&=&[[UIColor&alloc]&initWithPatternImage:img];
//&设置视图背景色
v.backgroundColor&=&
//&将视图插入到选项卡栏底层
[tabBarController.tabBar&insertSubview:v&atIndex:0];
tabBarController.tabBar.opaque&=&YES;
[color&release];
[v&release];
-&(id)init&{
&&&if(self=[super&init]){
&&&&&&&//方法一
&&&&&UIImageView&*imgv&=&[[UIImageView&alloc]&initWithImage:[UIImage&imageNamed:@&tabbarbg.png&]];
&&&&&&imgv.frame&=&CGRectMake(0,0,self.tabBar.frame.size.width,self.tabBar.frame.size.height);
&&&&&&imgv.contentMode&=&UIViewContentModeScaleToF
&&&&&&//&imgv.frame&=&CGRectOffset(imgv.frame,0,1);
&&&&&&[[self&tabBar]&insertSubview:imgv&atIndex:0];
&&&&&&[imgv&release];
&&&&&&//&方法二
&&&&&CGRect&frame&=&CGRectMake(0,0,self.view.bounds.size.width,49);
&&&&&&UIView&*view&=&[[UIView&alloc]&initWithFrame:frame];
&&&&&&UIImage&*tabImage&=&[UIImage&imageNamed:@&tabbg.png&];
&&&&&&UIColor&*color&=&[[UIColor&alloc]&initWithPatternImage:tabImage];
&&&&&&[view&setBackgroundColor:color];
&&&&&&[color&release];
&&&&&&[[self&tabBar]&insertSubview:view&atIndex:0];
&&&&&&[view&release];
UIImage&*tabBackground&=&[[UIImage&imageNamed:@&tab_bg.png&]&resizableImageWithCapInsets:UIEdgeInsetsMake(0,&0,&0,&0)];
[[UITabBar&appearance]&setBackgroundImage:tabBackground];
[[UITabBar&appearance]&setSelectionIndicatorImage:[UIImage&imageNamed:@&tab_select_indicator.png&]];
二、隐藏TabBar
-&(void)hideExsitingTabBar&{
&&&&for(UIView&*view&in&self.view.subviews)
&&&&&&&&&if([view&isKindOfClass:[UITabBar&&class]])
&&&&&&&&&{
&&&&&&&&&&&&&&view.hidden&=&YES;
&&&&&&&&&&&&&&
&&&&&&&&&&}
nextViewController.hidesBottomBarWhenPushed&=&YES;
[self.navigationController&pushViewController:nextViewController&animated:NO];
发布于 11个月前,
阅读(91) | 评论(0) |
投票(0) | 收藏(2)
&&&&这部分就不多说了,请看&
&&&&需记录注册完后的,应用访问ak以及安全码(创建时候填写的,如果忘记点设置查看下)
二、创建工程,完成上一篇日志的操作。
&&&&完成后,在plist文件中,找到Bundle identifier,修改内容为你的安全码(极其关键!!!)
按照以上步骤操作,基本无误。
发布于 11个月前,
阅读(26) | 评论(0) |
投票(0) | 收藏(0)
一、先按照官方注意事项修改Xcode环境
静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即将Xcode的Project -& Edit Active Target -& Build -& GCC4.2 - Language -& Compile Sources As设置为&Objective-C++&
如果您只在Xib文件中使用了BMKMapView,没有在代码中使用BMKMapView,编译器在链接时不会链接对应符号,需要在工程属性中显式设定:在Xcode的Project -& Edit Active Target -& Build -& Linking -& Other Linker Flags中添加-ObjC
如果使用Xcode5开发基于iOS7的百度地图应用时,请将Xcode5的Project -& Edit Active Target -& Build -& Linking -& Other Linker Flags中的“-ObjC”修改为“-all_load”
二、将官方下载的BaiduMap_IOSSDK_v2.3.0_Lib库导入。
XCode中Build Phases中的Link Binary With Libraries 中将见到的libbaidumapapi.a删除
XCode中Build Setting中的Library Search Paths 中关于有关百度地图的删除
Clean一下project
XCode中Build Phases中的Link Binary With Libraries 中添加(如果你只是需要模拟器调试)Release-iphonesimulator中的libbaidumapapi.a。XCode中Build Phases中的Library Search Paths 中添加(如果你只是需要模拟器调试)Release-iphonesimulator中的路径。注:不过我建议用真机调试,地图嘛,当然定位是首先,电脑上怎么定位=。=模拟定位多蛋疼。。。所以上面添加的建议改称添加Release-iphoneos
Clean一下project
rebuilt一下project
通常以上操作都不会出现问题。
将这两个库合成
lipo -create Release-iphoneos/libbaidumapapi.a ./Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a
还有一种方式:
强烈建议,先搭建库后写项目。已经有小伙伴被坑了=。=只怪,不会静态编译。。。待我抽时间查查学习学习下
发布于 11个月前,
阅读(341) | 评论(0) |
投票(0) | 收藏(3)
新建的一个项目中,出现编译错误,发现是缺少了libxml2.dylib,后面将这个资源包添加了,编译还是出现标题上所说的问题
解决办法:
在Header Search Paths下的Debug和release下添加下面的设置
${SDKROOT}/usr/include/libxml2
然后再编译代码的话没有问题了
发布于 11个月前,
阅读(28) | 评论(0) |
投票(0) | 收藏(0)
每当出现bug或者crash的时候,我们总是习惯性的加入了NSLog或则单步调试。但是往往有些时候总找不到莫名奇妙的原因,回头看看C++对于异常处理的一些总结。
&&&&&#Code&that&can&potentially&throw&an&exception#&
@catch&(NSException&*exception)&{
&&&&&#Handle&an&exception&thrown&in&the&@try&block#&
@finally&{
&&&&&#Code&that&gets&executed&whether&or&not&an&exception&is&thrown#&
看着这个东西真的好熟悉,虽然说在iOS开发很少见到抛出异常这个东西,不自觉的便使用了。
自己写了一个例子,具体看例子吧。例子已上传git
发布于 11个月前,
阅读(106) | 评论(0) |
投票(0) | 收藏(0)
实战项目中提到这模块,虽然说网上有很多demo,但是我觉得还是自己动手写写为好,而且还发现不少自己缺陷的地方。
例如:block语法了解的不够深入,其次还是block 所以,这几天抽时间好好看看block
虽然说,没有第三方来的好用,但是毕竟是系统的,懂还是有必要的。
我已把demo上传到osc 的git上了,喜欢的你,可以看看,最好能交流下,指点指点我。
发布于 11个月前,
阅读(44) | 评论(0) |
投票(0) | 收藏(0)
小项目中发现的问题,纠结了半天;
问题原因:
同步请求,返回的是NSData类型
查了好久,有的写NSDictionary写扩展还有其他的什么归档啥的,没一个好使。最后发现利用JSon中转做的这个方法成功了。记录一下吧~
-&(void)getJsonForData
&&&&for&(NSDictionary&*dic&in&self.dataArray)&{
&&&&&&&&NSString&*str&=&[dic&objectForKey:@&url&];
&&&&&&&&NSURL&*url&=&[NSURL&URLWithString:str];
&&&&&&&&NSMutableURLRequest&*request&=&[NSMutableURLRequest&requestWithURL:url&cachePolicy:NSURLRequestReloadRevalidatingCacheData&timeoutInterval:60.0f];
&&&&&&&&[request&setHTTPMethod:@&GET&];
&&&&&&&&NSError&*error&=&
&&&&&&&&NSURLResponse&*response&=&
&&&&&&&&NSData&*data&=&[NSURLConnection&sendSynchronousRequest:request&returningResponse:&response&error:&error];
&&&&&&&&NSDictionary&*dic&=&[NSJSONSerialization&JSONObjectWithData:data&options:NSJSONReadingAllowFragments&error:nil];
&&&&&&&&NSLog(@&%@&,&dic);
&&&&&&&&[self.jsonArray&addObject:dic];
&&&&[self.tableView&reloadData];
发布于 11个月前,
阅读(714) | 评论(0) |
投票(0) | 收藏(0)
首先介绍一下这个第三方的框架
FMDB有三个主要的类
1.FMDatabase – 表示一个单独的SQLite数据库。 用来执行SQLite的命令。
2.FMResultSet – 表示FMDatabase执行查询后结果集
3.FMDatabaseQueue – 如果你想在多线程中执行多个查询或更新,你应该使用该类。这是线程安全的。
数据库创建
创建FMDatabase对象时参数为SQLite数据库文件路径。该路径可以是以下三种之一:
1..文件路径。该文件路径无需真实存,如果不存在会自动创建。
2..空字符串(@”&)。表示会在临时目录创建一个空的数据库,当FMDatabase 链接关闭时,文件也被删除。
3.NULL. 将创建一个内在数据库。同样的,当FMDatabase连接关闭时,数据会被销毁。
如需对临时数据库或内在数据库进行一步了解,请继续阅读:
打开数据库
在和数据库交互 之前,数据库必须是打开的。如果资源或权限不足无法打开或创建数据库,都会导致打开失败。
&pre&name=&code&&class=&objc&&&&&&if&(![_db&open])&{
&&&&&&&&NSLog(@&数据库打开失败&);
&&&&&&&&return&NO;
一切不是SELECT命令的命令都视为更新。这包括 &CREATE, UPDATE, INSERT,ALTER,COMMIT, BEGIN, DETACH, DELETE, DROP, END, EXPLAIN, VACUUM, and REPLACE &(等)。
简单来说,只要不是以SELECT开头的命令都是UPDATE命令。
执行更新返回一个BOOL值。YES表示执行成功,否则表示有那些错误 。你可以调用 -lastErrorMessage 和 -lastErrorCode方法来得到更多信息。
举个例子:插入一个Student数据
//&两种写sql语句方式
NSString&*sqlStr&=&[NSString&stringWithFormat:@&insert&into&student&values&('%@',&'%@',&'%@')&,&student.number,&student.name,&student.age];
&&&&NSLog(@&%@&,&sqlStr);
&&&&BOOL&result&=&[_db&executeUpdate:sqlStr];&pre&name=&code&&class=&objc&&style=&color:&rgb(51,&51,&51);&font-size:&14&line-height:&25&&//&&&&BOOL&result&=&[_db&executeUpdate:@&insert&into&student&(number,&name,&age)&values&(?,?,?)&,&student.number,&student.name,&student.age];
[self judgeDBError:result action:DATABASE_INSERT];
*&&打印执行SQL语句的状态
*&&@param&judge&&&&SQL语句的执行:成功(YES)/失败(NO)
*&&@param&action&&&SQL语句的相关操作:创建/插入/查询/删除
-(void)judgeDBError:(BOOL)judge&action:(NSString&*)action
&&&&if&(!judge&&&&[self.db&hadError])&{
&&&&&&&&//如果有错误,打印错误信息
&&&&&&&&NSLog(@&%@失败:%@&,action,[self.db&lastError]);
&&&&&&&&NSLog(@&%@成功&,action);
SELECT命令就是查询,执行查询的方法是以 -excuteQuery开头的。
执行查询时,如果成功返回FMResultSet对象, 错误返回nil. 与执行更新相当,支持使用 NSError**参数。同时,你也可以使用 -lastErrorCode和-lastErrorMessage获知错误信息。
FMResultSet&*s&=&[db&executeQuery:@&SELECT&*&FROM&myTable&];&&&
while&([s&next])&{&&&
&&&&//retrieve&values&for&each&record&&&
举个例子:
-(NSMutableArray&*)selectAllStudents
&&&&FMResultSet&*set&=&[_db&executeQuery:@&select&*&from&student&];
&&&&return&[self&selectAllStudentsHelper:set];
为了数据查找的通用性,写了一个通用方法查找Student数据
-(NSMutableArray&*)selectAllStudentsHelper:(FMResultSet&*)FMS
-(NSMutableArray&*)selectAllStudentsHelper:(FMResultSet&*)FMSet
&&&&NSMutableArray&*&selectResult&=&[NSMutableArray&array];
&&&&while&([FMSet&next])&{
&&&&&&&&Student&*&stu&=&[[Student&alloc]&init];
&&&&&&&&stu.number&=&[FMSet&stringForColumn:@&number&];
&&&&&&&&stu.name&=&[FMSet&stringForColumn:@&name&];
&&&&&&&&stu.age&=&[FMSet&stringForColumn:@&age&];
&&&&&&&&/**
&&&&&&&&&*&&各种不同类型的值有不同的取法.
&&&&&&&&&*&&&&&&&&int&a&=&[FMSet&intForColumn:@&a&],
&&&&&&&&&*&NSString&*&b&=&[FMSet&stringForColumn:@&b&],
&&&&&&&&&*&&&NSData&*&c&=&[FMSet&dateForColumn:@&c&],
&&&&&&&&&*&&&&&&float&d&=&[FMSet&doubleForColumn:@&d&],
&&&&&&&&&*/
&&&&&&&&[selectResult&addObject:stu];
&&&&return&selectR
FMResultSet &提供了很多方法来获得所需的格式的值:
& &&intForColumn:
& & longForColumn:
& & longLongIntForColumn:
& & boolForColumn:
& & doubleForColumn:
& & stringForColumn:
& & dataForColumn:
& & dataNoCopyForColumn:
& & UTF8StringForColumnIndex:
& & objectForColumn:
发布于 11个月前,
阅读(85) | 评论(0) |
投票(0) | 收藏(0)
QSqlQuery::value: not positioned on a valid record
在执行修改QTableView中数据后的提交,加入事务处理的时候遇到这个错误的时候
当时一直以为是以为QSqlQuery 跟 QSqlTableModel 中间数据插入或者删除出现了问题
发现在TableView中执行了removeRow某一行 修改成hide后就消失了错误
对于QSqlQuery 以及 QSqlTableView 理解不够深入
  QSqlQuery类提供了执行和操作的SQL语句。
  QSqlQuery封装的功能有创建、浏览和检索数据,从QSqlDatabase上执行SQL查询。它可以用来执行DML(数据操作语言)语句,如选择、插入、更新和删除,以及DDL(数据定义语言)语句,如创建表。它也可以被用来执行特定于数据库的命令不标准的SQL(例如设置DATESTYLE = ISO PostgreSQL)。
&&&&当执行SQL语句时,调用isActive()方法,查询是否该数据被处理。
 & QSqlTableModel类提供了一个可编辑的数据库表的数据模型。它是建立在QSqlQuery的基础上,用视图的方式来显示数据库中的数据。
发布于 1年前,
阅读(380) | 评论(4) |
投票(0) | 收藏(0)请问melody,music,tune它们区别在哪:最好能举例说明,谢谢.这是新概念二册42课的一道习题:He began to play a tune.It was a nice_______.A.melody
B.music 我想知道,为什么不选B?它和A有什么区别,A又和tune有什么_作业帮
拍照搜题,秒出答案
请问melody,music,tune它们区别在哪:最好能举例说明,谢谢.这是新概念二册42课的一道习题:He began to play a tune.It was a nice_______.A.melody
B.music 我想知道,为什么不选B?它和A有什么区别,A又和tune有什么
请问melody,music,tune它们区别在哪:最好能举例说明,谢谢.这是新概念二册42课的一道习题:He began to play a tune.It was a nice_______.A.melody
B.music 我想知道,为什么不选B?它和A有什么区别,A又和tune有什么区别.
不要想得太复杂了因为MUSIC不能用a来修饰,如此而已.
melody:A pleasing succession or arrangement of sounds.一般指悦耳的音调music:Vocal or instrumental sounds possessing a degree of melody, harmony, or rhythm.音乐tune:A melody, especially a simple and easily remembered one.尤指简单的、易记的调子
melody 音乐性, 动听music 泛指所有音乐的总称tune 曲调,调子
out of tune跑调
music就是通常所说的音乐,是个很概括的词。melody指的是乐章,旋律,有感情色彩的一个词。tune-音调,曲调,主题;歌曲正确的音调; 和谐; 调和,声调; 语调。是个中性词。在这句话中,说话人显然是加入了自己的感情色彩,一般说来,要是用music也不能算错,但是这里是有语境的。
学英语不要太死板,语言是很灵活的东西~!cocos2dx&音乐播放
//根据不同的平台使用的预编译索引不同音频文件
#if& &(CC_TARGET_PLATFORM ==
CC_PLATFORM_ANDROID)
#define EFFECT_FILE&
&"effect2.ogg"
#elif (CC_TARCET_PLATFORM == CC_PLATFORM_MARMALADE)
#define EFFECT_FILE&
&"effect1.raw"
#define EFFECT_FILE&
&"effect1.wav"
#if (CC_TARGET_PLATEFOM == CC_PLATFORM_WIN32)
#define&&MUSIC_FILE&
&"music.mid"
#elif (CC_TARGET_PLATFORM == CC_PLATFORM_BLACKBERRY)
#define MUSIC_FILE& &
"background.ogg"
#define MUSIC_FILE& &
"background.mp3"
std::string items[]={
"播放背景音乐","停止背景音乐","暂停背景音乐","继续播放背景音乐","后退背景音乐", "背景音乐是否播放",
"播放音效","重复播放音效","停止音效播放" ,"释放音效" ,"增加背景音乐音量",
"减少背景音效音量","增加音效音量","减少音效音量","暂停音效","继续播放音效","暂停所有音效","继续所有音效","停止所有音效"
CCScene* HelloWorld::scene()
& & // 'scene' is an
autorelease object
& & CCScene *scene =
CCScene::create();
& & // 'layer' is an
autorelease object
& & HelloWorld *layer =
HelloWorld::create();
& & // add layer as a child
scene-&addChild(layer);
& & // return the
// on "init" you need to initialize your instance
bool HelloWorld::init()
//////////////////////////////
& & // 1. super init
& & if ( !CCLayer::init()
& & CCMenu * m_pItmeMenu =
CCMenu::create();
& & CCSize size =
CCDirector::sharedDirector()-&getWinSize();
& & int m_nTestCount =
sizeof(items)/sizeof(items[0]);
& & for (int i = 0 ;
&&&CCLabelTTF *
label = CCLabelTTF::create(items[i].c_str(), "", 20);
&&&CCMenuItemLabel
* pMenuItem = CCMenuItemLabel::create(label , this,
menu_selector(HelloWorld::menuBack));
&&&m_pItmeMenu-&addChild(pMenuItem,i);
&&&pMenuItem-&setPosition(CCPointMake(0
, (size.height*0.5-20-(i+1)*15)));
& & addChild(m_pItmeMenu,0
//& & 预加载音乐和音效
SimpleAudioEngine::sharedEngine()-&preloadBackgroundMusic(CCFileUtils::sharedFileUtils()-&fullPathFromRelativePath(MUSIC_FILE));
SimpleAudioEngine::sharedEngine()-&preloadEffect(CCFileUtils::sharedFileUtils()-&fullPathFromRelativePath(EFFECT_FILE));
//& & 设置默认音量
SimpleAudioEngine::sharedEngine()-&setEffectsVolume(0.5);
SimpleAudioEngine::sharedEngine()-&setBackgroundMusicVolume(0.5);
void HelloWorld:: menuBack(CCObject * pSender)
& & CCMenuItem * pMenuItem =
(CCMenuItem * )(pSender);
& & int nIdx =
pMenuItem-&getZOrder();
& & switch (nIdx)
播放背景音乐
&SimpleAudioEngine::sharedEngine()-&playBackgroundMusic(std::string(CCFileUtils::sharedFileUtils()-&fullPathFromRelativePath(MUSIC_FILE)).c_str(),
停止背景音乐
&SimpleAudioEngine::sharedEngine()-&stopBackgroundMusic();
&&&暂停背景音乐
&SimpleAudioEngine::sharedEngine()-&pauseBackgroundMusic();
继续播放背景音乐
&SimpleAudioEngine::sharedEngine()-&resumeBackgroundMusic();
后退背景音乐
&SimpleAudioEngine::sharedEngine()-&rewindBackgroundMusic();
&&&背景音乐是否正在播放
(SimpleAudioEngine::sharedEngine()-&isBackgroundMusicPlaying())
CCLOG("正在播放");
&&&CCLOG("没在播放");
播放音效,并且得到此音效的ID
&SimpleAudioEngine::sharedEngine()-&playEffect(std::string(CCFileUtils::sharedFileUtils()-&fullPathFromRelativePath(MUSIC_FILE)).c_str());
重复播放音效
&SimpleAudioEngine::sharedEngine()-&playEffect(std::string(CCFileUtils::sharedFileUtils()-&fullPathFromRelativePath(MUSIC_FILE)).c_str(),
&停止播放音效
&SimpleAudioEngine::sharedEngine()-&stopEffect(effectId);
&SimpleAudioEngine::sharedEngine()-&unloadEffect
(std::string(CCFileUtils::sharedFileUtils()-&fullPathFromRelativePath(MUSIC_FILE)).c_str()
&增加背景音乐音量
&SimpleAudioEngine::sharedEngine()-&setBackgroundMusicVolume(SimpleAudioEngine::sharedEngine()-&getBackgroundMusicVolume()+0.1f);
减少背景音乐音量
&SimpleAudioEngine::sharedEngine()-&setBackgroundMusicVolume(SimpleAudioEngine::sharedEngine()-&getBackgroundMusicVolume()-0.1f);
&增加背景音效音量
&SimpleAudioEngine::sharedEngine()-&setEffectsVolume(SimpleAudioEngine::sharedEngine()-&getEffectsVolume()+0.1f);
&减少背景音效音量
&SimpleAudioEngine::sharedEngine()-&setEffectsVolume(SimpleAudioEngine::sharedEngine()-&getEffectsVolume()-0.1f);
&SimpleAudioEngine::sharedEngine()-&pauseEffect(effectId);
&SimpleAudioEngine::sharedEngine()-&resumeEffect(effectId);
&暂停所有音效
&SimpleAudioEngine::sharedEngine()-&pauseAllEffects();
继续所有音效
&SimpleAudioEngine::sharedEngine()-&resumeAllEffects();
&停止所有音效
&SimpleAudioEngine::sharedEngine()-&stopAllEffects();
&&&default:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 playground的意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信