- 浏览: 773923 次
- 性别:
- 来自: 天堂
文章分类
最新评论
-
xiaozhao-521:
呀呀呀呀呀呀呀
RequestTest222 -
Andy_hyh:
打扰了,问下openmeeting源码可以运行起来吗?
Openmeetings安装 详细步骤 -
qindongliang1922:
擦,现在还行么,厉害
北京免费吃饭的地方 -
minixx77:
...
Openmeetings安装 详细步骤 -
wwwqqqiang:
喜欢楼主分享问题的方式,有思想
UIView 和 CALayer的那点事
1:在创建CCLayer的子类时,默认的情况下,不能响应触摸事件
在-(id)init { }打开事件处理:
// enable touch input
self.isTouchEnabled = YES;
// enable accelerometer input
self.isAccelerometerEnabled = YES;
-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
}
-(void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
}
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
}
-(void) ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
}
// Accelerometer Input Events
-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
CCLOG(@"acceleration: x:%f / y:%f / z:%f", acceleration.x, acceleration.y, acceleration.z);
}
2:放大缩小一个CCSprite* 对象
//屏幕的大小
CGSize size = [[CCDirector sharedDirector] winSize];
CCSprite* background = [CCSprite spriteWithFile:@"Default.png"];
background.position = CGPointMake(size.width / 2, size.height / 2);
// scaling the image beyond recognition here
background.scaleX = 30;
background.scaleY = 3;
[self addChild:background];
3:创建一个CCLabel对象
// creating another label and aligning it at the top-right corner of the screen
CCLabel* labelAligned = [CCLabel labelWithString:@"I'm topright aligned!" fontName:@"HiraKakuProN-W3" fontSize:20];
labelAligned.position = CGPointMake(size.width, size.height);
labelAligned.anchorPoint = CGPointMake(1, 1);
[self addChild:labelAligned];
4:制定定时任务
// this will have the -(void) update:(ccTime)delta method called every frame
//[self scheduleUpdate]; //相当于[self schedule:@selector(update:) interval:0.0];
[self schedule:@selector(update:) interval:0.1f];
-(void) update:(ccTime)delta
{
// called every frame thanks to [self scheduleUpdate]
// unschedule this method (_cmd is a shortcut and stands for the current method) so it won't be called anymore
//取消定时任务
[self unschedule:_cmd];// :_cmd:是个什么对象呢???
CCLOG(@"update with delta time: %f", delta);
// re-schedule update randomly within the next 10 seconds
float nextUpdate = CCRANDOM_0_1() * 10; // CCRANDOM_0_1():取得0-1之间的随机数
[self schedule:_cmd interval:nextUpdate];
}
5:坐标转换——-将UIView中的点击坐标转换为OpenGl的坐标
-(CGPoint) locationFromTouches:(NSSet *)touches
{
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView: [touch view]];
return [[CCDirector sharedDirector] convertToGL:touchLocation];
}
6:特效场景转换
CCScene* scene = [MenuScene scene];
//创建特效
CCFadeTransition* transitionScene = [CCFadeTransition transitionWithDuration:3 scene:scene withColor:ccRED];
CCFadeTRTransition* transitionScene = [CCFadeTRTransition transitionWithDuration:3 scene:scene];
CCRotoZoomTransition* transitionScene = [CCRotoZoomTransition transitionWithDuration:3 scene:scene];
CCShrinkGrowTransition* transitionScene = [CCShrinkGrowTransition transitionWithDuration:3 scene:scene];
CCTurnOffTilesTransition* transitionScene = [CCTurnOffTilesTransition transitionWithDuration:3 scene:scene];
//导演对象转换场景
[[CCDirector sharedDirector] replaceScene:transitionScene];
7:创建菜单
-(void) createMenu:(ccTime)delta
{
// unschedule the selector, we only want this method to be called once
[self unschedule:_cmd];
CGSize size = [[CCDirector sharedDirector] winSize];
// set CCMenuItemFont default properties
[CCMenuItemFont setFontName:@"Helvetica-BoldOblique"];//设置字体
[CCMenuItemFont setFontSize:40];//设置大小
// create a few labels with text and selector
CCMenuItemFont* item1 = [CCMenuItemFont itemFromString:@"Go Back!" target:self selector:@selector(menuItem1Touched:)];
// create a menu item using existing sprites
CCSprite* normal = [CCSprite spriteWithFile:@"Icon.png"];
normal.color = ccRED;
CCSprite* selected = [CCSprite spriteWithFile:@"Icon.png"];
selected.color = ccGREEN;
CCMenuItemSprite* item2 = [CCMenuItemSprite itemFromNormalSprite:normal selectedSprite:selected target:self selector:@selector(menuItem2Touched:)];
// create a toggle item using two other menu items (toggle works with images, too)
[CCMenuItemFont setFontName:@"STHeitiJ-Light"];
[CCMenuItemFont setFontSize:40];
CCMenuItemFont* toggleOn = [CCMenuItemFont itemFromString:@"I'm ON!"];
CCMenuItemFont* toggleOff = [CCMenuItemFont itemFromString:@"I'm OFF!"];
CCMenuItemToggle* item3 = [CCMenuItemToggle itemWithTarget:self selector:@selector(menuItem3Touched:) items:toggleOn, toggleOff, nil];
// create the menu using the items
CCMenu* menu = [font-size: 10pt; color: #3f6e74; font-family: Mona
发表评论
-
iOS 自定义UIActionSheet
2012-12-18 16:07 16424一:模态视图 UIActi ... -
UIView 和 CALayer的那点事
2012-11-17 23:51 30782UIView 和 CALayer的那点事 (1 ... -
iOS Open Source : Popover API for iPhone
2012-01-20 15:02 1948http://iphonedevelopertips.com/ ... -
ios 任务、线程、定时器
2011-12-26 18:09 8032一:operations(任务) cocoa提供了三种 ... -
ios url缓存策略——NSURLCache、 NSURLRequest
2011-12-26 17:09 24360一:url 缓存策略 NSURLRequest ... -
ios NSInvocation简单使用
2011-12-22 16:39 6379在ios直接调用某个对象的消息是方法有两种: 一:perfo ... -
iphone 对Web Services的三种请求方式soap get post
2011-11-09 10:57 6444一:Using SO AP 1.1 POST / ... -
sdk3.2手势实例
2011-11-09 10:11 1747#import <UIKit/UIKit.h>@i ... -
关于iphone 利用hpple解析html的问题
2011-08-04 18:28 2229最近在用happe解析html中的图片。有个翻页操作,如果请 ... -
iphone hpple 解析html,xml
2011-07-19 16:21 2755使用Objective-C解析HTML或者XML,系统自带有两 ... -
激活 iPhone通过 GPRS 连接服务器功能的代码
2011-05-13 15:14 1663如果您的 iPhone 应用里含有连接服务器的功能,也许会遇到 ... -
address book api 图型
2011-04-28 15:51 1151最近要搞地址簿了,整理一下 -
[OmniGraffle]iPhone app原型制作工具
2011-04-06 17:35 3962在写程序之前,我们通常需要做一些mockup出来(不知道款爷有 ... -
自定义uislider 样式
2011-04-04 21:28 3844UIImage *stetchLeftTrack= [[UII ... -
iphone 下AsyncSocket网络库编程
2011-04-02 21:04 7647iphone的标准推荐CFNetwork ... -
进阶AlertView运用 - 登入设计
2011-04-01 17:52 3043说明:示范如何利用AlertView来制作系统登入的介面程式碼 ... -
iPad UIPopoverController弹出窗口的位置和坐标
2011-04-01 17:42 2008优化规则: TodoViewControlle ... -
iPhone系统自动化测试
2011-04-01 17:39 2624首先mac系统是必备的2 安装iPhone SD ... -
iphone上面编写具有root权限的程序
2011-04-01 17:31 6302正常途径下, 我们编写的程序发布在App store上, 使用 ... -
聊天。。。。。
2011-04-01 17:13 1095是得分手段
相关推荐
【标题】:“Cocos2d总结:二、场景(Scenes)与图层(Layers)” 在游戏开发中,Cocos2d是一个广泛使用的2D游戏引擎,它为开发者提供了丰富的功能和简单易用的API。本文将深入探讨Cocos2d中的两个核心概念:场景...
在游戏开发领域,Cocos2d是一个广泛使用的2D游戏引擎,它为开发者提供了丰富的功能和易用的API,使得创建交互式游戏变得简单。这篇博客文章将深入探讨Cocos2d中的关键组件——CCSprite,它是构建游戏图形的基础元素...
总结,Cocos2d中的背景循环移动涉及到精灵的创建、位置调整以及定时器的使用。通过巧妙地结合这些基本元素,可以创造出各种动态的背景效果,提升游戏的视觉体验。对于开发者来说,熟练掌握这些技巧是构建高品质2D...
总结来说,cocos2d-xTest项目包含了一个处理触摸事件的简单示例,以及一个用于应用程序安全性的检查机制,特别是针对Android平台的dex文件校验。这些功能对于游戏开发至关重要,它们确保了用户界面的响应性,并且...
总结来说,"Cocos2d-x 地图行走的实现2"这个主题涵盖了从地图加载、角色定位、碰撞检测、动画制作到用户输入响应等一系列游戏开发的核心技术。通过理解并实践这些知识点,开发者能够创建出具有生动地图和角色互动的...
总结来说,这个例子展示了如何在Cocos2d-x中自定义精灵类来处理触摸事件。通过继承`CCSprite`并实现触摸事件回调函数,我们可以让精灵根据触摸状态执行不同的动作。同时,通过创建场景并设置触摸监听,我们确保了...
Cocos2d-x TableView 分析是游戏开发中经常遇到的问题之一。TableView 是一个常用的 UI 组件,用于显示大量数据,但是它的使用也存在一些问题。下面我们将对 TableView 的使用进行分析,并总结出一些重要的知识点。 ...
总结起来,Cocos2d-x的触摸事件机制使开发者能够轻松响应用户的触摸操作,结合ccLayer的使用,可以创建出丰富的用户交互体验。通过理解和应用这些概念,你可以构建出更加动态和有趣的2D游戏。在实际开发过程中,不断...
总结来说,通过Cocos2d-x 3.x,我们可以利用其丰富的图形渲染、事件处理和跨平台能力,实现《别踩白块》这样一款简单却富有挑战性的游戏。在开发过程中,理解Cocos2d-x的核心组件,合理设计游戏逻辑和用户交互,以及...
"cocos2d-x面试题总结" 本篇总结了cocos2d-x面试的常见问题,涵盖了C++基础知识、cocos2d-x特性和实现机理等方面。下面是根据给定的文件信息生成的相关知识点: 一、C++基础知识 1. C和C++的区别:C++在C的基础上...
总结一下,Cocos2d-x中为精灵实现触摸事件涉及以下步骤: 1. 创建自定义精灵类,继承自`cc::Sprite`。 2. 重写`onTouchBegan`、`onTouchMoved`和`onTouchEnded`方法。 3. 在场景中设置事件监听器,并将精灵作为目标...
1. 跨平台性:cocos2d-x 支持iOS、Android、Windows Phone等多平台,开发者只需要编写一次代码,就能在多个平台上运行,极大地提高了开发效率。 2. C++ 基础:cocos2d-x 使用C++作为主要编程语言,同时提供了Python...
总结,理解和掌握Cocos2D-X中的事件队列及触屏事件处理对于开发一款成功的移动平台游戏至关重要。通过合理地添加事件监听器、处理不同类型的触屏事件,以及优化事件处理优先级,可以构建出响应迅速、用户体验良好的...
总结,通过深入研究"runningGame"的源码,我们可以了解到cocos2d-x在跑酷游戏开发中的应用,掌握从资源管理到游戏逻辑实现的全过程。这对于开发者来说,既是一次实践操作的锻炼,也是一次理论知识的巩固,对于后续的...
1. **Cocos2d-JS简介** Cocos2d-JS是Cocos2d-x框架的JavaScript版本,它提供了一个跨平台的游戏开发环境,支持Windows、iOS、Android等多个平台。Cocos2d-JS允许开发者使用JavaScript编写代码,同时享受到C++的高...
总结,通过cocos2d-lua和OpenGL的结合,我们可以轻松创建出引人入胜的3D扑克翻牌特效。从建模到动画,再到交互设计,每一个步骤都需要细心打磨,才能打造出既美观又流畅的游戏体验。在实际开发中,开发者应不断学习...
总结,cocos2d-x 3.13.1是一个强大且成熟的2D游戏开发框架,不仅提供了丰富的功能,还持续优化以适应不断变化的技术环境。对于有志于游戏开发的程序员来说,熟练掌握cocos2d-x将为他们的职业生涯开启新的可能。