zwoptex能开发andriod开发工具游戏吗

4286人阅读
cocos2d-x(64)
这些工具平常也用到,不过没有像这样整理出来,这是我在网上看到的。就记录一下。
位图字体工具Bitmap
Font Tools
&(Windows)
粒子编辑工具Particle
Editing Tools
物理编辑工具Physics
Editing Tools
场景编辑工具Scene
Editing Tools
纹理地图集工具Texture
Atlas Tools
瓦片地图编辑工具Tilemap
Editing Tools
声音特效编辑工具Audio
Effect Editing Tools
背景音乐编辑工具Background
Music Editing Tools
Cocos2D家族包含了一系列不同语言、不同渲染方案的多个分支,目前稳定成熟、有商业游戏发布的主要有三个:
Cocos2D-iPhone,用优雅的Objective-C语言进行游戏开发,最近出了JavaScript绑定,游戏只能运行于iOS设备上;Cocos2D-X,用经典的C++进行游戏开发,加以Lua绑定和JavaScript绑定,游戏可运行于iOS、Android、Windows Phone &8、Windows 8 Metro、BlackBerry 10、bada、MeeGo、Linux、Mac OS X等手机和桌面系统上;Cocos2D-XNA,用C#进行游戏开发,可运行于Windows Phone 7&8之上。
还有一个分支,虽然目前尚无大型商用游戏,但未来相当看好:
Cocos2D-HTML5,基于HTML5规范集开发,采用JavaScript语言,游戏可运行在Chrome、FireFox、IE10、Opera等支持HTML5的浏览器内。
表1 Cocosd系列引擎对不同平台和开发语言的支持
Cocos2D系列引擎对不同平台和开发语言的支持如表1所示,注意:虽然有不同分支,但只要是在同一个大版本号1.x或2.x下面,API接口是完全一样的。
采用与开发平台自身相同的编程语言是个不错的选择;但按照目前的趋势,跨平台已经成为一个基本考虑点之一,因此选择具有跨平台能力的开发语言,会让游戏开发和运营更轻松愉快。所以开发语言的选择上,大致可以这么考虑:
系统原生语言:例如在iOS上选择Objective-C,在Windows Phone上选择C#,开发时能很方便地集成SDK上的各种功能—原生UI框架以及ShareKit、ASIHttpRequest之类的第三方库,且易于调试。但游戏无法跨平台,因此现阶段不是太推荐;C++:保持高性能的同时可以跨不同平台,调试方便,但开发进度偏慢,集成部分第三方库需要一次语言转换,适合技术功底比较强的小型创业团队,在开发中小型游戏上有优势;Lua、JavaScript等跨平台脚本:可以在运行性能和开发速度上取得一个折中,缺点是调试和集成第三方库不易,适合有一两个技术高手能驾驭语言转换层(需要二次转换,如Java&C++&Lua),然后招聘脚本程序员大量堆逻辑的中型创业团队,而且团队里程序员越多,使用脚本带来的增益越明显。此方案在开发大型游戏上有进度优势。在工具方面,Cocos2D和多数开源社区一样是个集市,没有建造大教堂思路下集中控制的一站式解决方案,因此你需要从不同软件提供商手里购买针对不同使用目的的工具,基本覆盖了游戏开发过程的方方面面,比较流行的有:
CocosBuilder是目前最好的UI编辑器和动作编辑器,拥有开源免费MIT许可。在2.1版本之后加入了大家翘盼已久的时间轴动作编辑功能。其作者Viktor Lidholt已被Zynga的Cocos2D团队收编,因此CocosBuilder很显然会是整个社区最重要的编辑器之一;71squared的Particle Designer,必不可少的粒子编辑器,8美元一套,还不到买一份肯德基全家桶的钱;mapeditor.org的Tilemap Editor,这个是开源免费的;Texture Atlas打包工具如Texture Packer、Zwoptex;SpriteHelper、LevelHelper系列。
除此之外,还有一些比较新潮但用户不多的工具,例如,让你在一个代码编辑器里完成基于Cocos2D-X的多平台开发调试部署;还有蛋疼到碎的iTileMaps,让用户在iPad里面编辑tilemap地图,你可以买一套送给美工同学,然后享受他想杀死你的眼神。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:649815次
积分:8794
积分:8794
排名:第1840名
原创:175篇
转载:13篇
评论:731条
阅读:4425
文章:26篇
阅读:85191
文章:27篇
阅读:169515
(1)(1)(1)(1)(3)(4)(1)(3)(4)(6)(4)(6)(14)(1)(1)(2)(1)(2)(23)(1)(9)(2)(1)(5)(7)(1)(5)(4)(4)(8)(3)(1)(2)(31)(7)(8)(4)(4)(2)(1)(1)(1)cocos2d-android_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
cocos2d-android
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩6页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢&>&&>&&>&&>&Zwoptex 1.6.0
Zwoptex 1.6.0
上传大小:2.38MB
非常不错的一款图片资源整合软件,使用后可以满足各个游戏引擎的需要,省时省力.不需要注册也可以免费使用.
综合评分:3.6(5位用户评分)
所需积分:1
下载次数:29
审核通过送C币
创建者:otldan
创建者:huang3513
创建者:xiaoyaoyou1212
课程推荐相关知识库
上传者其他资源上传者专辑
移动开发热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
Zwoptex 1.6.0
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:org.eclipse.jdt.core.prefs
arrowleft.png
arrowright.png
arrowtop.png
backbox.png
backbutton.png
background.jpg
baluba.jpg
bionic.fnt
bionic_0.png
bitmapFontTest.png
bitmapFontTest3.fnt
bitmapFontTest3.png
dalek_0.png
darktranstop.png
denvycom.png
desert.jpg
finger.png
fps_images.png
gidilogo.png
greek_0.png
jungle.mp3
lexisbox.png
lib_circle.png
lib_cross.png
puzzlebox.png
stars2_grayscale.png
stars_grayscale.png
startbutton.png
tchokwe.jpg
tictacbox.png
tictile.png
tilebox.png
BoundingBox.class
Segment.class
Sphere.class
CatmullRomSpline.class
Circle.class
EarClippingTriangulator.class
Frustum.class
Interpolation$1.class
Interpolation$2.class
Interpolation$3.class
Interpolation$4.class
Interpolation$5.class
Interpolation$6.class
Interpolation$7.class
Interpolation$8.class
Interpolation$Bounce.class
Interpolation$BounceIn.class
Interpolation$BounceOut.class
Interpolation$Elastic.class
Interpolation$ElasticIn.class
Interpolation$ElasticOut.class
Interpolation$Exp.class
Interpolation$ExpIn.class
Interpolation$ExpOut.class
Interpolation$Pow.class
Interpolation$PowIn.class
Interpolation$PowOut.class
Interpolation$Swing.class
Interpolation$SwingIn.class
Interpolation$SwingOut.class
Interpolation.class
Intersector$SplitTriangle.class
Intersector.class
MathUtils.class
Matrix3.class
Matrix4.class
Plane$PlaneSide.class
Plane.class
Polygon.class
Quaternion.class
Rectangle.class
Vector2.class
Vector3.class
WindowedMean.class
DistanceJoint.class
DistanceJointDef.class
FrictionJoint.class
FrictionJointDef.class
GearJoint.class
GearJointDef.class
MouseJoint.class
MouseJointDef.class
PrismaticJoint.class
PrismaticJointDef.class
PulleyJoint.class
PulleyJointDef.class
RevoluteJoint.class
RevoluteJointDef.class
RopeJoint.class
RopeJointDef.class
WeldJoint.class
WeldJointDef.class
WheelJoint.class
WheelJointDef.class
Body.class
BodyDef$BodyType.class
BodyDef.class
ChainShape.class
CircleShape.class
Contact.class
ContactFilter.class
ContactImpulse.class
ContactListener.class
DestructionListener.class
EdgeShape.class
Filter.class
Fixture.class
FixtureDef.class
Joint.class
JointDef$JointType.class
JointDef.class
JointEdge.class
Manifold$ManifoldPoint.class
Manifold$ManifoldType.class
Manifold.class
MassData.class
PolygonShape.class
QueryCallback.class
RayCastCallback.class
Shape$Type.class
Shape.class
Transform.class
World$1.class
World$2.class
World.class
WorldManifold.class
Array$ArrayIterable.class
Array$ArrayIterator.class
Array.class
BufferUtils.class
ComparableTimSort.class
Disposable.class
GdxRuntimeException.class
LongArray.class
LongMap$Entries.class
LongMap$Entry.class
LongMap$Keys.class
LongMap$MapIterator.class
LongMap$Values.class
LongMap.class
NumberUtils.class
Pool.class
Sort.class
TimSort.class
BuildConfig.class
CCNodeExt.class
DbAdapter$DatabaseHelper.class
DbAdapter.class
GidiGamesActivity$1.class
GidiGamesActivity.class
LexisHelpLayer.class
LexisLayer.class
LexisMenuLayer.class
MenuLayer.class
PuzzleHelpLayer.class
PuzzleLayer.class
PuzzleMenuLayer.class
PuzzleNumLayer.class
PuzzlePicLayer.class
R$attr.class
R$drawable.class
R$layout.class
R$raw.class
R$string.class
SplashLayer.class
TicTacHelpLayer.class
TicTacLayer$State.class
TicTacLayer.class
TicTacMenuLayer.class
Utility.class
CCAction.class
CCFiniteTimeAction.class
CCFollow.class
CCRepeatForever.class
CCSpeed.class
CCCameraAction.class
CCOrbitCamera.class
CCEaseAction.class
CCEaseBackIn.class
CCEaseBackInOut.class
CCEaseBackOut.class
CCEaseBounce.class
CCEaseBounceIn.class
CCEaseBounceInOut.class
CCEaseBounceOut.class
CCEaseElastic.class
CCEaseElasticIn.class
CCEaseElasticInOut.class
CCEaseElasticOut.class
CCEaseExponentialIn.class
CCEaseExponentialInOut.class
CCEaseExponentialOut.class
CCEaseIn.class
CCEaseInOut.class
CCEaseOut.class
CCEaseRateAction.class
CCEaseSineIn.class
CCEaseSineInOut.class
CCEaseSineOut.class
CCAccelAmplitude.class
CCAccelDeccelAmplitude.class
CCDeccelAmplitude.class
CCFlipX3D.class
CCFlipY3D.class
CCGrid3DAction.class
CCGridAction.class
CCLens3D.class
CCLiquid.class
CCPageTurn3D.class
CCReuseGrid.class
CCRipple3D.class
CCShaky3D.class
CCStopGrid.class
CCTwirl.class
CCWaves.class
CCWaves3D.class
CCCallFunc.class
CCCallFuncN.class
CCCallFuncND.class
CCFlipX.class
CCFlipY.class
CCHide.class
CCInstantAction.class
CCPlace.class
CCShow.class
CCToggleVisibility.class
CCAnimate.class
CCBezierBy.class
CCBezierTo.class
CCBlink.class
CCDelayTime.class
CCFadeIn.class
CCFadeOut.class
CCFadeTo.class
CCIntervalAction.class
CCJumpBy.class
CCJumpTo.class
CCMoveBy.class
CCMoveTo.class
CCProgressFromTo.class
CCProgressTo.class
CCPropertyAction.class
CCRepeat.class
CCReverseTime.class
CCRotateBy.class
CCRotateTo.class
CCScaleBy.class
CCScaleTo.class
CCSequence.class
CCSkewBy.class
CCSkewTo.class
CCSpawn.class
CCTintBy.class
CCTintTo.class
CCFadeOutBLTiles.class
CCFadeOutDownTiles.class
CCFadeOutTRTiles.class
CCFadeOutUpTiles.class
CCJumpTiles3D.class
CCShakyTiles3D.class
CCShatteredTiles3D.class
CCShuffleTiles.class
CCSplitCols.class
CCSplitRows.class
CCTiledGrid3DAction.class
CCTurnOffTiles.class
CCWavesTiles3D.class
Tile.class
CCActionManager$1.class
CCActionManager$HashElement.class
CCActionManager.class
CCProgressTimer.class
CCScheduler$SchedulerTimerAlreadyScheduled.class
CCScheduler$SchedulerTimerNotFound.class
CCScheduler$tHashSelectorEntry.class
CCScheduler$tListEntry.class
CCScheduler.class
CCTimer.class
UpdateCallback.class
ccConfig.class
ccMacros.class
CCKeyDispatcher.class
CCKeyHandler.class
CCTargetedTouchHandler.class
CCTouchDispatcher$1.class
CCTouchDispatcher$2.class
CCTouchDispatcher$3.class
CCTouchDispatcher$4.class
CCTouchDispatcher$ccTouchHandlerHelperData.class
CCTouchDispatcher$ccTouchSelectorFlag.class
CCTouchDispatcher.class
CCTouchHandler.class
extensions
CCClipNode.class
CCScrollView.class
CCScrollViewDelegate.class
CCTableView.class
CCTableViewBitMapFontCell.class
CCTableViewCell.class
CCTableViewDataSource.class
CCTableViewDelegate.class
CCTableViewSpriteCell.class
CCGrabber.class
CCGrid3D.class
CCGridBase$1.class
CCGridBase.class
CCTiledGrid3D.class
CCColorLayer.class
CCLayer.class
CCMultiplexLayer.class
CCScene.class
CCTMXLayer.class
CCTMXLayerInfo.class
CCTMXMapInfo$CCTMXXMLParser.class
CCTMXMapInfo.class
CCTMXObjectGroup.class
CCTMXTiledMap.class
CCTMXTilesetInfo.class
CCMenu$MenuState.class
CCMenu.class
CCMenuItem.class
CCMenuItemAtlasFont.class
CCMenuItemFont.class
CCMenuItemImage.class
CCMenuItemLabel.class
CCMenuItemSprite.class
CCMenuItemToggle.class
CCAnimation.class
CCAtlasNode.class
CCDirector.class
CCLabel$StringReloader.class
CCLabel$TextAlignment.class
CCLabel.class
CCLabelAtlas.class
CCMotionStreak.class
CCNode$1.class
CCNode$CocosNodeSize.class
CCNode.class
CCParallaxNode$CCPointObject.class
CCParallaxNode.class
CCRibbon$CCRibbonSegment.class
CCRibbon.class
CCSprite$TransformValues.class
CCSprite.class
CCSpriteFrame.class
CCSpriteFrameCache.class
CCSpriteSheet.class
CCTextureCache$1.class
CCTextureCache$2.class
CCTextureCache$3.class
CCTextureCache.class
CCTextureNode.class
CCTileMapAtlas.class
CCBitmapFontAtlas$CCBitmapFontConfiguration.class
CCBitmapFontAtlas$ccBitmapFontDef.class
CCBitmapFontAtlas$ccBitmapFontPadding.class
CCBitmapFontAtlas$tKerningHashElement.class
CCBitmapFontAtlas.class
CCCamera.class
CCDrawingPrimitives.class
CCGLSurfaceView.class
CCPVRTexture$PVRTexHeader.class
CCPVRTexture.class
CCRenderTexture$1.class
CCRenderTexture.class
CCTexture2D$1.class
CCTexture2D$2.class
CCTexture2D$3.class
CCTexture2D$4.class
CCTexture2D.class
CCTextureAtlas.class
GLDebugWrapper$MyGLImplementation.class
GLDebugWrapper.class
GLResourceHelper$1.class
GLResourceHelper$2.class
GLResourceHelper$GLResorceTask.class
GLResourceHelper$GLResourceLoader.class
GLResourceHelper$Resource.class
GLResourceHelper.class
GLSurfaceView$BaseConfigChooser.class
GLSurfaceView$ComponentSizeChooser.class
GLSurfaceView$DefaultContextFactory.class
GLSurfaceView$DefaultWindowSurfaceFactory.class
GLSurfaceView$EGLConfigChooser.class
GLSurfaceView$EGLContextFactory.class
GLSurfaceView$EglHelper.class
GLSurfaceView$EGLWindowSurfaceFactory.class
GLSurfaceView$GLThread.class
GLSurfaceView$GLThreadManager.class
GLSurfaceView$GLWrapper.class
GLSurfaceView$LogWriter.class
GLSurfaceView$Renderer.class
GLSurfaceView$SimpleEGLConfigChooser.class
GLSurfaceView.class
OpenGLViewAlreadyAttachedException.class
OpenGLViewCantAttachException.class
OpenGLViewCantDetachException.class
OpenGLViewCantInitException.class
OpenGLViewNotAttachedException.class
TGA$ImageTGA.class
TGA$TGAError.class
particlesystem
CCParticleExplosion.class
CCParticleFire.class
CCParticleFireworks.class
CCParticleFlower.class
CCParticleGalaxy.class
CCParticleMeteor.class
CCParticleRain.class
CCParticleSmoke.class
CCParticleSnow.class
CCParticleSpiral.class
CCParticleSun.class
CCParticleSystem$CCParticle$ParticleModeA.class
CCParticleSystem$CCParticle$ParticleModeB.class
CCParticleSystem$CCParticle.class
CCParticleSystem$ModeA.class
CCParticleSystem$ModeB.class
CCParticleSystem.class
CCPointParticleSystem.class
CCQuadParticleSystem$1.class
CCQuadParticleSystem$QuadParticleLoader.class
CCQuadParticleSystem.class
CCBlendProtocol.class
CCKeyDelegateProtocol.class
CCLabelProtocol.class
CCMotionEventProtocol.class
CCRGBAProtocol.class
CCTextureProtocol.class
CCTouchDelegateProtocol.class
SoundEngine.class
ActionManagerTest$ActionManagerDemo.class
ActionManagerTest$CrashTest.class
ActionManagerTest$Issue835.class
ActionManagerTest$LogicTest.class
ActionManagerTest$PauseTest.class
ActionManagerTest$RemoveTest.class
ActionManagerTest.class
ActionsTest$ActionAnimate.class
ActionsTest$ActionBezier.class
ActionsTest$ActionBlink.class
ActionsTest$ActionCallFunc.class
ActionsTest$ActionCallFuncND.class
ActionsTest$ActionDelayTime.class
ActionsTest$ActionDemo$1.class
ActionsTest$ActionDemo.class
ActionsTest$ActionFade.class
ActionsTest$ActionFollow.class
ActionsTest$ActionJump.class
ActionsTest$ActionManual.class
ActionsTest$ActionMove.class
ActionsTest$ActionOrbit.class
ActionsTest$ActionProperty.class
ActionsTest$ActionRepeat.class
ActionsTest$ActionRepeatForever.class
ActionsTest$ActionReverse.class
ActionsTest$ActionReverseSequence.class
ActionsTest$ActionReverseSequence2.class
ActionsTest$ActionRotate.class
ActionsTest$ActionRotateJerk.class
ActionsTest$ActionRotateToRepeat.class
ActionsTest$ActionScale.class
ActionsTest$ActionSequence.class
ActionsTest$ActionSequence2.class
ActionsTest$ActionSpawn.class
ActionsTest$ActionTint.class
ActionsTest.class
AtlasTest$Atlas1.class
AtlasTest$Atlas3$1.class
AtlasTest$Atlas3.class
AtlasTest$Atlas4$1.class
AtlasTest$Atlas4.class
AtlasTest$Atlas5.class
AtlasTest$Atlas6.class
AtlasTest$AtlasBitmapColor.class
AtlasTest$AtlasDemo.class
AtlasTest$AtlasFastBitmap.class
AtlasTest$LabelAtlasColorTest$1.class
AtlasTest$LabelAtlasColorTest.class
AtlasTest$LabelAtlasTest$1.class
AtlasTest$LabelAtlasTest.class
AtlasTest.class
Box2dTest$Box2DTestLayer$1.class
Box2dTest$Box2DTestLayer.class
Box2dTest.class
CCScrollViewTest.class
ClickAndMoveTest$MainLayer.class
ClickAndMoveTest.class
CocosNodeTest$CameraCenterTest.class
CocosNodeTest$CameraOrbitTest.class
CocosNodeTest$CameraZoomTest$1.class
CocosNodeTest$CameraZoomTest.class
CocosNodeTest$CustomNode.class
CocosNodeTest$NodeToWorld.class
CocosNodeTest$SchedulerTest1.class
CocosNodeTest$StressTest1.class
CocosNodeTest$StressTest2.class
CocosNodeTest$Test2.class
CocosNodeTest$Test4.class
CocosNodeTest$Test5.class
CocosNodeTest$Test6.class
CocosNodeTest$TestDemo.class
CocosNodeTest.class
DrawPrimitivesTest$Test1.class
DrawPrimitivesTest$TestDemo.class
DrawPrimitivesTest.class
EaseActionsTest$SpeedTest.class
EaseActionsTest$SpriteDemo.class
EaseActionsTest$SpriteEase.class
EaseActionsTest$SpriteEaseBack.class
EaseActionsTest$SpriteEaseBackInOut.class
EaseActionsTest$SpriteEaseBounce.class
EaseActionsTest$SpriteEaseBounceInOut.class
EaseActionsTest$SpriteEaseElastic.class
EaseActionsTest$SpriteEaseElasticInOut.class
EaseActionsTest$SpriteEaseExponential.class
EaseActionsTest$SpriteEaseExponentialInOut.class
EaseActionsTest$SpriteEaseInOut.class
EaseActionsTest$SpriteEaseSine.class
EaseActionsTest$SpriteEaseSineInOut.class
EaseActionsTest.class
EffectsAdvancedTest$Effect1.class
EffectsAdvancedTest$Effect2.class
EffectsAdvancedTest$Effect3.class
EffectsAdvancedTest$Effect4.class
EffectsAdvancedTest$Effect5.class
EffectsAdvancedTest$Issue631.class
EffectsAdvancedTest$TextLayer.class
EffectsAdvancedTest.class
EffectsTest$FadeOutBLTilesDemo.class
EffectsTest$FadeOutDownTilesDemo.class
EffectsTest$FadeOutTRTilesDemo.class
EffectsTest$FadeOutUpTilesDemo.class
EffectsTest$FlipX3DDemo.class
EffectsTest$FlipY3DDemo.class
EffectsTest$JumpTiles3DDemo.class
EffectsTest$Lens3DDemo.class
EffectsTest$LiquidDemo.class
EffectsTest$PageTurn3DDemo.class
EffectsTest$Ripple3DDemo.class
EffectsTest$Shaky3DDemo.class
EffectsTest$ShakyTiles3DDemo.class
EffectsTest$ShatteredTiles3DDemo.class
EffectsTest$ShuffleTilesDemo.class
EffectsTest$SplitColsDemo.class
EffectsTest$SplitRowsDemo.class
EffectsTest$TextLayer$1.class
EffectsTest$TextLayer.class
EffectsTest$TurnOffTilesDemo.class
EffectsTest$TwirlDemo.class
EffectsTest$Waves3DDemo.class
EffectsTest$WavesDemo.class
EffectsTest$WavesTiles3DDemo.class
EffectsTest.class
FontTest$Layer1.class
FontTest$Layer2.class
FontTest$Layer3.class
FontTest$Layer4.class
FontTest.class
MenuTest$Layer1.class
MenuTest$Layer2.class
MenuTest$Layer3.class
MenuTest$Layer4.class
MenuTest.class
MotionStreakTest$MotionStreakTestLayer.class
MotionStreakTest$Test1$1.class
MotionStreakTest$Test1.class
MotionStreakTest$Test2.class
MotionStreakTest.class
ParallaxTest$Parallax1.class
ParallaxTest$Parallax2.class
ParallaxTest$ParallaxDemo.class
ParallaxTest.class
ParticleTest$DemoBigFlower.class
ParticleTest$DemoExplosion.class
ParticleTest$DemoFire.class
ParticleTest$DemoFirework.class
ParticleTest$DemoFlower.class
ParticleTest$DemoGalaxy.class
ParticleTest$DemoMeteor.class
ParticleTest$DemoModernArt.class
ParticleTest$DemoRain.class
ParticleTest$DemoRing.class
ParticleTest$DemoRotFlower.class
ParticleTest$DemoSmoke.class
ParticleTest$DemoSnow.class
ParticleTest$DemoSpiral.class
ParticleTest$DemoSun.class
ParticleTest$Issue704.class
ParticleTest$Issue870.class
ParticleTest$Issue872.class
ParticleTest$ParallaxParticle.class
ParticleTest$ParticleDemo.class
ParticleTest$ParticleDesigner1.class
ParticleTest$ParticleDesigner10.class
ParticleTest$ParticleDesigner11.class
ParticleTest$ParticleDesigner2.class
ParticleTest$ParticleDesigner3.class
ParticleTest$ParticleDesigner4.class
ParticleTest$ParticleDesigner5.class
ParticleTest$ParticleDesigner6.class
ParticleTest$ParticleDesigner7.class
ParticleTest$ParticleDesigner8.class
ParticleTest$ParticleDesigner9.class
ParticleTest$RadiusMode1.class
ParticleTest$RadiusMode2.class
ParticleTest.class
RotateWorldTest$MainLayer.class
RotateWorldTest$SpriteLayer.class
RotateWorldTest.class
SceneTest$Layer1.class
SceneTest$Layer2.class
SceneTest$Layer3.class
SceneTest.class
SchedulerTest$SchedulerAutoremove.class
SchedulerTest$SchedulerPauseResume$1.class
SchedulerTest$SchedulerPauseResume$2.class
SchedulerTest$SchedulerPauseResume$3.class
SchedulerTest$SchedulerPauseResume.class
SchedulerTest$SchedulerSchedulesAndRemove.class
SchedulerTest$SchedulerTestLayer.class
SchedulerTest$SchedulerUnscheduleAll.class
SchedulerTest$SchedulerUnscheduleAllHard.class
SchedulerTest$SchedulerUpdate.class
SchedulerTest$SchedulerUpdateAndCustom$1.class
SchedulerTest$SchedulerUpdateAndCustom$2.class
SchedulerTest$SchedulerUpdateAndCustom.class
SchedulerTest$SchedulerUpdateFromCustom.class
SchedulerTest$TestNode.class
SchedulerTest.class
ScrollTableViewMenu.class
ScrollView$CCScrollViewTest.class
ScrollView.class
ScrollViewTable$ScrollTableViewMenu.class
ScrollViewTable.class
SoundEngineTest$MainLayer.class
SoundEngineTest.class
SpritesTest$SpriteAnimate.class
SpritesTest$SpriteBezier.class
SpritesTest$SpriteBlink.class
SpritesTest$SpriteCallFunc.class
SpritesTest$SpriteDelayTime.class
SpritesTest$SpriteDemo.class
SpritesTest$SpriteFade.class
SpritesTest$SpriteJump.class
SpritesTest$SpriteManual.class
SpritesTest$SpriteMove.class
SpritesTest$SpriteOrbit.class
SpritesTest$SpriteRepeat.class
SpritesTest$SpriteReverse.class
SpritesTest$SpriteReverseSequence.class
SpritesTest$SpriteReverseSequence2.class
SpritesTest$SpriteRotate.class
SpritesTest$SpriteScale.class
SpritesTest$SpriteSequence.class
SpritesTest$SpriteSpawn.class
SpritesTest$SpriteTint.class
SpritesTest.class
TileMapTest$TileDemo.class
TileMapTest$TileMapEditTest.class
TileMapTest$TileMapTest1.class
TileMapTest$TMXHexTest.class
TileMapTest$TMXIsoMoveLayer.class
TileMapTest$TMXIsoObjectsTest.class
TileMapTest$TMXIsoTest.class
TileMapTest$TMXIsoTest1.class
TileMapTest$TMXIsoTest2.class
TileMapTest$TMXIsoVertexZ.class
TileMapTest$TMXIsoZorder.class
TileMapTest$TMXOrthoMoveLayer.class
TileMapTest$TMXOrthoObjectsTest.class
TileMapTest$TMXOrthoTest.class
TileMapTest$TMXOrthoTest2.class
TileMapTest$TMXOrthoTest3.class
TileMapTest$TMXOrthoTest4.class
TileMapTest$TMXOrthoVertexZ.class
TileMapTest$TMXOrthoZorder.class
TileMapTest$TMXReadWriteTest.class
TileMapTest$TMXResizeTest.class
TileMapTest$TMXTilePropertyTest.class
TileMapTest$TMXTilesetTest.class
TileMapTest$TMXUncompressedTest.class
TileMapTest.class
TransitionsTest$FadeWhiteTransition.class
TransitionsTest$FlipAngularLeftOver.class
TransitionsTest$FlipAngularRightOver.class
TransitionsTest$FlipXLeftOver.class
TransitionsTest$FlipXRightOver.class
TransitionsTest$FlipYDownOver.class
TransitionsTest$FlipYUpOver.class
TransitionsTest$PageTransitionBackward.class
TransitionsTest$PageTransitionForward.class
TransitionsTest$TestLayer.class
TransitionsTest$TestLayer2.class
TransitionsTest$ZoomFlipAngularLeftOver.class
TransitionsTest$ZoomFlipAngularRightOver.class
TransitionsTest$ZoomFlipXLeftOver.class
TransitionsTest$ZoomFlipXRightOver.class
TransitionsTest$ZoomFlipYDownOver.class
TransitionsTest$ZoomFlipYUpOver.class
TransitionsTest.class
transitions
CCCrossFadeTransition.class
CCFadeBLTransition.class
CCFadeDownTransition.class
CCFadeTransition.class
CCFadeTRTransition.class
CCFadeUpTransition.class
CCFlipAngularTransition.class
CCFlipXTransition.class
CCFlipYTransition.class
CCJumpZoomTransition.class
CCMoveInBTransition.class
CCMoveInLTransition.class
CCMoveInRTransition.class
CCMoveInTTransition.class
CCOrientedTransitionScene.class
CCPageTurnTransition.class
CCRadialCCWTransition.class
CCRadialCWTransition.class
CCRotoZoomTransition.class
CCShrinkGrowTransition.class
CCSlideInBTransition.class
CCSlideInLTransition.class
CCSlideInRTransition.class
CCSlideInTTransition.class
CCSplitColsTransition.class
CCSplitRowsTransition.class
CCTransitionEaseScene.class
CCTransitionScene$1.class
CCTransitionScene$tOrientation.class
CCTransitionScene$TransitionWithInvalidSceneException.class
CCTransitionScene.class
CCTurnOffTilesTransition.class
CCZoomFlipAngularTransition.class
CCZoomFlipXTransition.class
CCZoomFlipYTransition.class
ccColor4FUtil.class
ccQuad2Util.class
CGAffineTransformUtil.class
CGPointUtil.class
PoolHolder$1.class
PoolHolder$2.class
PoolHolder$3.class
PoolHolder$4.class
PoolHolder$5.class
PoolHolder$6.class
PoolHolder.class
CCBezierConfig.class
ccBlendFunc.class
ccColor3B.class
ccColor4B.class
ccColor4F.class
ccGridSize.class
CCPointSize.class
ccPointSprite.class
ccQuad2.class
ccQuad3.class
ccTex2F.class
CCTexParams.class
ccV2F_C4F_T2F.class
ccV2F_C4F_T2F_Quad.class
ccV3F_C4B_T2F.class
ccV3F_C4B_T2F_Quad.class
ccVertex2F.class
CCVertex3D.class
ccVertex3F.class
CGAffineTransform.class
CGPoint.class
CGRect$Edge.class
CGRect.class
CGSize.class
Copyable.class
HashCode.class
NoninvertibleTransformException.class
collections
ConcArrayStack.class
ConcNodeCachingLinkedQueue$Node.class
ConcNodeCachingLinkedQueue.class
ConcNodeCachingStack$Node.class
ConcNodeCachingStack.class
ConcurrentArrayHashMap$1.class
ConcurrentArrayHashMap$Entry.class
ConcurrentArrayHashMap.class
IntMap$Entry.class
IntMap$IntMapIterator.class
IntMap.class
javolution
MathLib.class
TextBuilder.class
ConcOneClassPool.class
ObjectPool.class
OneClassPool.class
Base64$1.class
Base64$InputStream.class
Base64$OutputStream.class
Base64.class
BufferProvider.class
BufferUtils.class
CCFormatter.class
ContentHelper$1.class
ContentHelper$StreamProvider.class
ContentHelper.class
GeometryUtil.class
PlistParser.class
TransformUtils.class
Util5.class
Util7.class
ZwoptexParser.class
Cocos2D$1.class
Cocos2D.class
annotations-f87f1f1fc7cde70ed83908.jar
drawable-hdpi
AndroidManifest.xml
classes.dex
resources.ap_
drawable-hdpi
desert.jpg
jungle.mp3
throwsprite.mp3
tileclick.mp3
warning.mp3
word_destroyed.mp3
strings.xml
extensions
particlesystem
transitions
collections
javolution
.classpath
.gitattributes
.gitignore
AndroidManifest.xml
proguard.cfg
project.properties
源码说明.txt
package com.denvycom.
import java.util.ArrayL
import java.util.C
import java.util.I
import java.util.R
import java.util.T
import java.util.TimerT
import org.cocos2d.actions.CCS
import org.cocos2d.actions.base.CCRepeatF
import org.cocos2d.actions.instant.CCCallFuncN;
import org.cocos2d.actions.instant.CCP
import org.cocos2d.actions.interval.CCDelayT
import org.cocos2d.actions.interval.CCFadeIn;
import org.cocos2d.actions.interval.CCFadeO
import org.cocos2d.actions.interval.CCJumpTo;
import org.cocos2d.actions.interval.CCMoveTo;
import org.cocos2d.actions.interval.CCScaleBy;
import org.cocos2d.actions.interval.CCScaleTo;
import org.cocos2d.actions.interval.CCS
import org.cocos2d.actions.tile.T
import org.cocos2d.config.ccM
import org.cocos2d.layers.CCColorL
import org.cocos2d.layers.CCL
import org.cocos2d.layers.CCS
import org.cocos2d.menus.CCM
import org.cocos2d.menus.CCMenuItemI
import org.cocos2d.menus.CCMenuItemL
import org.cocos2d.nodes.CCD
import org.cocos2d.nodes.CCMotionS
import org.cocos2d.nodes.CCN
import org.cocos2d.nodes.CCS
import org.cocos2d.nodes.CCTextureC
import org.cocos2d.opengl.CCBitmapFontA
import org.cocos2d.particlesystem.CCParticleS
import org.cocos2d.particlesystem.CCQuadParticleS
import org.cocos2d.sound.SoundE
import org.cocos2d.types.CGP
import org.cocos2d.types.CGR
import org.cocos2d.types.CGS
import org.cocos2d.types.ccColor3B;
import org.cocos2d.types.ccColor4B;
import org.cocos2d.types.ccColor4F;
import org.cocos2d.utils.CCF
import android.content.C
import android.database.C
import android.view.MotionE
public class LexisLayer extends CCLayer {
public static
ArrayList&CCNodeExt& spriteList = new ArrayList&CCNodeExt&();
public static
ArrayList&Integer& spriteCounter = new ArrayList&Integer&();
private static int numSpritePause = 0 ;
//Stores a counter for number of sprites launched
private static int MAX_SPRITES_PAUSE = 10 ; //After this number of sprites, we pause
private static int MAX_SPRITE_POOL = 4
private static int NUM_WORDS_POOL = 7
private static int score = 0 ;
private static CGSize screenS
private int startx,
corrhop = 0, maxcorrhop = 4 ;
private static int splitfactor = 10 ;
private static int jumpheight, c_jumpheight, c_endx , endx ,cursel,
private static boolean correctlanded =
private static CCMoveTo movenode0,movenode1,movenode2,movenode3;
private static float time = 90;
private static Timer timer = new Timer();
DbAdapter mDbH
private static ArrayList&String&
rootwords = new ArrayList&String&();
private static ArrayList&String&
englishtrans = new ArrayList&String&();
private static ArrayList&Integer& englishtransList = new ArrayList&Integer&();
private static ArrayList&Integer& throwindexes = new ArrayList&Integer&();
private static S
private static int currentindex = 0 ;
private static int currentindexholder = 0 ;
private static int currentthrowindex = 0 ;
private static boolean throwposition =
private static int PAUSE_OVERLAY_TAG = 322 ;
private static int SCROLL_TOP_TAG = 321 ;
private static int LANG_LAYER_TAG = 349;
private static int PAUSE_MENU_TAG = 348;
private static int RESUME_MENU_TAG = 347;
private static int SCORE_LABEL_TAG = 350 ;
private static final int GAME_PUASES_LABEL_TAG = 107;
private static int BEST_SCORE_LABEL_TAG = 450 ;
private static int MAIN_WORD_NODE_LABEL_TAG = 550 ;
private static int CANCEL_SPRITE_TAG = 650 ;
private static int TIMER_LABEL_TAG = 850 ;
private static int CORRECT_WORD_TAG = 950 ;
private static final int JUMP_ACTION_TAG = 960;
private static final int LANG_LABEL_TAG = 960;
private static CCMotionS
private static int thetime = 0 ;
private static int moves = 0 ;
public static boolean gameover =
private CCBitmapFontAtlas bestScoreL
private float tilescalefactor = 0.0f;
private CCQuadParticleS
public static CCScene scene(String thelanguage)
GidiGamesActivity.nextscene= &LexisMenuLayer&;
GidiGamesActivity.currentscene = &LexisLayer& ;
CCScene scene = CCScene.node();
CCLayer layer = new LexisLayer(thelanguage);
scene.addChild(layer);
protected LexisLayer(String selectedlanguage)
this.setIsTouchEnabled(true);
GidiGamesActivity.checkWordBank();
mDbHelper = new DbAdapter(GidiGamesActivity.app);
mDbHelper.open();
screenSize = CCDirector.sharedDirector().winSize();
tilescalefactor
= (screenSize.height/480) ;
//Select the most recent best score database
Cursor ScoreCursor = mDbHelper.fetchLexisBest(&lexis&, GidiGamesActivity.currentlanguage, &&) ;
if(ScoreCursor.getCount() & 0){
ScoreCursor.moveToFirst();
labelmoves = ScoreCursor.getString(ScoreCursor.getColumnIndex(
DbAdapter.KEY_GAME_MOVES)) ;
labelmoves = &0& ;
gameover =
this.setTag(LANG_LAYER_TAG);
//Set Up Database
//Fetch last session id, increment it an update value
Cursor langCursor = mDbHelper.fetchWordSet(selectedlanguage);
//Generate the array of words we will be working with
langCursor.moveToFirst() ;
rootwords.clear();
englishtrans.clear();
englishtransList.clear();
throwindexes.clear();
int i = 0 ;
while (langCursor.moveToNext()){
rootwords.add(langCursor.getString(1));
englishtrans.add(langCursor.getString(3));
englishtransList.add(i);
throwindexes.add(i);
mDbHelper.close() ;
Collections.shuffle(englishtransList);
Collections.shuffle(throwindexes);
//Add Background Sprite Image
CCSprite background = CCSprite.sprite(&background.jpg&);
background.setScale(screenSize.width / background.getContentSize().width);
background.setAnchorPoint(CGPoint.ccp(0f,1f)) ;
background.setPosition(CGPoint.ccp(0, screenSize.height));
addChild(background,-5);
//Add Score Label
String scorestring = CCFormatter.format(&%03d&, score);
CCBitmapFontAtlas scoreLabel = CCBitmapFontAtlas.bitmapFontAtlas (scorestring, &bionic.fnt&);
scoreLabel.setScale(1.6f*tilescalefactor);
//scoreLabel.setColor(ccColor3B.ccc3(255, 242, 75));
scoreLabel.setAnchorPoint(CGPoint.ccp(0,1));
scoreLabel.setPosition( CGPoint.ccp( 10*tilescalefactor, screenSize.height - 10*tilescalefactor));
addChild(scoreLabel,-2, SCORE_LABEL_TAG);
// Add Timer Label
CCBitmapFontAtlas LanguageLabel = CCBitmapFontAtlas.bitmapFontAtlas (selectedlanguage, &greek.fnt&);
LanguageLabel.setScale(1.4f*tilescalefactor);
LanguageLabel.setAnchorPoint(CGPoint.ccp(0,1));
LanguageLabel.setColor(ccColor3B.ccc3(50, 205, 50));
LanguageLabel.setPosition(CGPoint.ccp(10*tilescalefactor , scoreLabel.getPosition().y - scoreLabel.getContentSize().height/2*1.6f*tilescalefactor
LanguageLabel.getContentSize().height/1.6f*tilescalefactor));
addChild(LanguageLabel,-2,LANG_LABEL_TAG);
//Add The Main Word
CCBitmapFontAtlas mainWordLabel = CCBitmapFontAtlas.bitmapFontAtlas (&伪锟?喂胃渭蠈 2&, &greek.fnt&);
mainWordLabel.setScale(1.6f*tilescalefactor);
mainWordLabel.setAnchorPoint(CGPoint.ccp(1f,1f));
mainWordLabel.setColor(ccColor3B.ccc3(50, 205, 50));
currentindex = englishtransList.get((currentindexholder) % englishtransList.size());
currentword = rootwords.get(currentindex)
mainWordLabel.setString(currentword);
//Add A NOde to Contain the Main Word
CCNode mainWordNode = CCNode.node();
//mainWordNode.setContentSize(mainWordLabel.getContentSize());
//mainWordNode.setScale(tilescalefactor);
mainWordNode.setAnchorPoint(1f,1f);
mainWordNode.setPosition(CGPoint.ccp(screenSize.width - 20*tilescalefactor , screenSize.height ));
mainWordNode.addChild(mainWordLabel, -2,1);
addChild(mainWordNode,1, MAIN_WORD_NODE_LABEL_TAG);
// Add Timer Label
CCBitmapFontAtlas timerLabel = CCBitmapFontAtlas.bitmapFontAtlas (&00:00&, &bionic.fnt&);
timerLabel.setScale(1.0f*tilescalefactor);
timerLabel.setColor(ccColor3B.ccc3(50, 205, 50));
timerLabel.setPosition(CGPoint.ccp(screenSize.width - timerLabel.getContentSize().width*tilescalefactor/2 - 30*tilescalefactor, mainWordNode.getPosition().y - mainWordNode.getContentSize().height/2*tilescalefactor - 50*tilescalefactor -
timerLabel.getContentSize().height/1.5f*tilescalefactor));
addChild(timerLabel,-2,TIMER_LABEL_TAG);
//Add Best Label
bestScoreLabel = CCBitmapFontAtlas.bitmapFontAtlas (&BEST: & + labelmoves + & points&,
&bionic.fnt&);
bestScoreLabel.setAnchorPoint(1f,0f);
bestScoreLabel.setScale(0.8f*tilescalefactor);
bestScoreLabel.setColor(ccColor3B.ccc3(255, 242, 75));
bestScoreLabel.setPosition( CGPoint.ccp(screenSize.width - 20*tilescalefactor, timerLabel.getPosition().y - timerLabel.getContentSize().height*tilescalefactor - 10*tilescalefactor
addChild(bestScoreLabel,-2, BEST_SCORE_LABEL_TAG);
//CCIntervalAction moveTo = CCMoveTo.action(0.5f, CGPoint.ccp( screenSize.width/2, screenSize.height/2));
//mainWordLabel.runAction(moveTo);
CCScaleBy scale = CCScaleBy.action(0.5f, 1.2f);
CCSequence seq = CCSequence.actions(scale, scale.reverse());
CCRepeatForever repeat = CCRepeatForever.action(seq);
mainWordLabel.runAction(repeat);
spriteCounter.clear() ;
//Create 4 Menu Items and add to layer
for (int j = 0 ; j & MAX_SPRITE_POOL; j++){
//Create a fontatlas, put it in an item, put it in a menu
//Put the item in a Node and animate the Node.
CCBitmapFontAtlas eachFontAtlas = CCBitmapFontAtlas.bitmapFontAtlas( &Number : & + j , &bionic.fnt&);
eachFontAtlas.setScale(tilescalefactor);
CCNodeExt eachNode =
CCNodeExt();
eachNode.setNodeText(&Numberrrooo : & + j );
eachNode.addChild(eachFontAtlas,1,1);
eachNode.setContentSize(eachFontAtlas.getContentSize());
eachNode.setScale(tilescalefactor);
eachNode.setPosition(0, -1 * eachNode.getContentSize().height*tilescalefactor);
addChild(eachNode,j,j);
spriteList.add(eachNode);
spriteCounter.add(j);
//Add Overlay with Start button and Instruction
CCColorLayer pauseOverlay = CCColorLayer.node(ccColor4B.ccc4(25, 25, 25, 0));
pauseOverlay.setOpacity(180);
addChild(pauseOverlay,200,PAUSE_OVERLAY_TAG);
CCSprite arrow = CCSprite.sprite(&arrowtop.png&);
arrow.setScale(tilescalefactor);
arrow.setPosition(CGPoint.make(screenSize.width - (mainWordLabel.getContentSize().width*tilescalefactor*1.2f /2), screenSize.height -
mainWordLabel.getContentSize().height*tilescalefactor -20*tilescalefactor)) ;
pauseOverlay.addChild(arrow,3,1) ;
CCMoveTo move = CCMoveTo.action(0.2f, CGPoint.make(screenSize.width - (mainWordLabel.getContentSize().width*tilescalefactor*1.2f /2), screenSize.height -
mainWordLabel.getContentSize().height*tilescalefactor - 40 *tilescalefactor) ) ;
CCMoveTo unmove = CCMoveTo.action(0.2f, CGPoint.make(screenSize.width - (mainWordLabel.getContentSize().width*tilescalefactor*1.2f /2),screenSize.height -
mainWordLabel.getContentSize().height*tilescalefactor - 20*tilescalefactor) ) ;
CCSequence mseq = CCSequence.actions(move, unmove );
CCRepeatForever mrepeat = CCRepeatForever.action(mseq);
arrow.runAction(mrepeat);
String helptext = &1.) Do you know your languages? \n& +
&2.) You have got 90 seconds! \n&
&3.) Slash at the flying word that correctly
\ntranslates the green word at top right \n& +
&4.) Click Start, Go for it! \n&
CCBitmapFontAtlas easyFontAtlas = CCBitmapFontAtlas.bitmapFontAtlas( helptext , &dalek.fnt&);
easyFontAtlas.setScale(0.9f*tilescalefactor);
easyFontAtlas.setPosition(CGPoint.make(screenSize.width/2, screenSize.height/2));
pauseOverlay.addChild(easyFontAtlas, 3,1);
//easyFontAtlas.setScale(tilescalefactor);
CCSprite finger = CCSprite.sprite(&finger.png&);
finger.setScale(tilescalefactor);
finger.setPosition(CGPoint.make(screenSize.width/2 - easyFontAtlas.getContentSize().width*tilescalefactor/4 , screenSize.height/2 + easyFontAtlas.getContentSize().height*tilescalefactor/2)) ;
pauseOverlay.addChild(finger,3,1) ;
CCSequence fseq = CCSequence.actions(
CCFadeIn.action(0.2f),
//CCMoveTo.action(0.6f, CGPoint.make(screenSize.width/2
- easyFontAtlas.getContentSize().width*tilescalefactor/4, screenSize.height/2 + finger.getContentSize().width*tilescalefactor/2 + easyFontAtlas.getContentSize().height*tilescalefactor/2)),
CCMoveTo.action(1.4f, CGPoint.make(screenSize.width/2
+ easyFontAtlas.getContentSize().width*tilescalefactor/4, screenSize.height/2 - finger.getContentSize().width*tilescalefactor/2
- easyFontAtlas.getContentSize().height*tilescalefactor/2)),
CCFadeOut.action(0.8f),
CCPlace.action( CGPoint.make(screenSize.width/2
- easyFontAtlas.getContentSize().width*tilescalefactor/4, screenSize.height/2 + finger.getContentSize().width*tilescalefactor/2 + easyFontAtlas.getContentSize().height*tilescalefactor/2))
CCRepeatForever frepeat = CCRepeatForever.action(fseq);
finger.runAction(frepeat);
CCMenuItemImage startbtn = CCMenuItemImage.item(&startbutton.png&, &startbutton.png&,this, &startCallback&);
startbtn.setScale(0.8f * tilescalefactor);
CCMenu startmenu = CCMenu.menu(startbtn);
startmenu.setPosition(CGPoint.make(0, 0));
startbtn.setPosition(CGPoint.make(screenSize.width - startbtn.getContentSize().width/2*tilescalefactor, startbtn.getContentSize().height*tilescalefactor/2));
pauseOverlay.addChild(startmenu, 3,1);
gameover =
score = 0 ;
streak = new CCMotionStreak(1, 40, &streak.png&, 64*tilescalefactor, 64*tilescalefactor, new ccColor4B(255,255,255,255) );
addChild(streak,400);
streak.setPosition(screenSize.width/2, screenSize.height/2);
public void startCallback(Object sender) {
//SoundEngine.sharedEngine().playEffect(GidiGamesActivity.app, R.raw.cheer);
time = 90 ;
score = 0 ;
schedule(&launchSprite&, 0.8f);
schedule(&updateTimeLabel&, 1.0f);
gameover =
//Add Pause Sprite Button
CCMenuItemImage pausebtn = CCMenuItemImage.item(&pause.png&, &pause.png&,this, &pauseCallback&);
pausebtn.setScale(0.9f*tilescalefactor);
CCMenu pausemenu = CCMenu.menu();
pausemenu.addChild(pausebtn,1,1);
pausemenu.setContentSize(pausebtn.getContentSize());
//pausemenu.setScale(tilescalefactor);
pausemenu.setPosition(CGPoint.make(screenSize.width - pausemenu.getContentSize().width*0.9f*tilescalefactor/2.0f , pausemenu.getContentSize().height*tilescalefactor/2));
addChild(pausemenu, 100,PAUSE_MENU_TAG);
CCColorLayer pauselayer = (CCColorLayer) getChildByTag(PAUSE_OVERLAY_TAG) ;
pauselayer.runAction(CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f, screenSize.height + pauselayer.getContentSize().height*tilescalefactor)));
pauselayer.removeAllChildren(true);
pauselayer.removeSelf() ;
public void pauseCallback(Object sender) {
unschedule(&launchSprite&);
unschedule(&updateTimeLabel&);
CCMenu pausemenu = (CCMenu) getChildByTag(PAUSE_MENU_TAG);
pausemenu.setVisible(false);
CCColorLayer pauseOverlay = CCColorLayer.node(ccColor4B.ccc4(25, 25, 25, 255));
pauseOverlay.setIsTouchEnabled(true);
pauseOverlay.setOpacity(180);
addChild(pauseOverlay,200,PAUSE_OVERLAY_TAG);
//Add scroll to the Layer
//Add Top Scroll
CCSprite topscroll = CCSprite.sprite(&darktranstop.png&);
float picscale = screenSize.width/topscroll.getContentSize().
topscroll.setScale(picscale);
topscroll.setPosition(CGPoint.ccp(screenSize.width / 2.0f, screenSize.height + topscroll.getContentSize().height));
pauseOverlay.addChild(topscroll,1,SCROLL_TOP_TAG);
topscroll.runAction(CCSequence.actions(
CCDelayTime.action(0.4f),
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f,screenSize.height - (topscroll.getContentSize().height * picscale)/2)),
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f,screenSize.height - (topscroll.getContentSize().height * picscale)/2 + 20 * picscale ))
CCBitmapFontAtlas gamepaused = CCBitmapFontAtlas.bitmapFontAtlas (&Game Paused!&, &dalek.fnt&);
gamepaused.setColor(ccColor3B.ccc3(105, 75, 41));
gamepaused.setScale( GidiGamesActivity.scalefactor + 0.4f * GidiGamesActivity.scalefactor);
gamepaused.setAnchorPoint(1f,1f);
gamepaused.setPosition(CGPoint.ccp(screenSize.width + gamepaused.getContentSize().width + 40 , screenSize.height -20 ));
pauseOverlay.addChild(gamepaused,300,GAME_PUASES_LABEL_TAG);
gamepaused.runAction(CCSequence.actions(
CCDelayTime.action(0.5f),
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width - 20.0f * picscale, screenSize.height - 25 * picscale ))
pauseOverlay.addChild(gamepaused,300,GAME_PUASES_LABEL_TAG);
CCBitmapFontAtlas gamepausedmain = CCBitmapFontAtlas.bitmapFontAtlas ( &Game Paused.&, &bionic.fnt&);
gamepausedmain.setAnchorPoint(CGPoint.ccp(0,1));
//gamemoves.setColor(ccColor3B.ccc3(105, 75, 41));
gamepausedmain.setScale(tilescalefactor);
gamepausedmain.setAnchorPoint(0.5f,1f);
gamepausedmain.setPosition(CGPoint.ccp(screenSize.width / 2.0f , screenSize.height/2.0f ));
pauseOverlay.addChild(gamepausedmain,300,GAME_PUASES_LABEL_TAG);
gamepausedmain.runAction(CCSequence.actions(
CCDelayTime.action(0.1f),
CCScaleBy.action(0.2f, 2.0f)
// Add Pause Menu Buttons
CCMenuItemImage playbtn = CCMenuItemImage.item(&play.png&, &play.png&,this, &playCallback&);
playbtn.setScale(0.9f * tilescalefactor);
//CCMenuItemImage refreshbtn = CCMenuItemImage.item(&refresh.png&, &refresh.png&,this, &refreshCallback&);
CCMenuItemImage menubtn = CCMenuItemImage.item(&menu.png&, &menu.png&,this, &menuCallback&);
menubtn.setScale(0.9f*tilescalefactor);
CCMenu resumemenu = CCMenu.menu(playbtn, menubtn);
resumemenu.setPosition(CGPoint.make(0, 0));
menubtn.setPosition(CGPoint.make(screenSize.width - menubtn.getContentSize().width* tilescalefactor /2
, menubtn.getContentSize().height*tilescalefactor/2));
//refreshbtn.setPosition(CGPoint.make(screenSize.width - refreshbtn.getContentSize().width - menubtn.getContentSize().width - 15, refreshbtn.getContentSize().height));
playbtn.setPosition(CGPoint.make(screenSize.width -
playbtn.getContentSize().width*tilescalefactor - menubtn.getContentSize().width*tilescalefactor/2.0f -10*tilescalefactor , menubtn.getContentSize().height*tilescalefactor/2));
//resumemenu.setPosition(CGPoint.make(screenSize.width - resumemenu.getContentSize().width - 50, resumemenu.getContentSize().height));
pauseOverlay.addChild(resumemenu, 2,RESUME_MENU_TAG) ;
public void gameOver() {
unschedule(&updateTimeLabel&);
CCMenu pausemenu = (CCMenu) getChildByTag(PAUSE_MENU_TAG);
pausemenu.setVisible(false);
CCColorLayer pauseOverlay = CCColorLayer.node(ccColor4B.ccc4(25, 25, 25, 255));
pauseOverlay.setOpacity(200);
pauseOverlay.setIsTouchEnabled(true);
addChild(pauseOverlay,200,PAUSE_OVERLAY_TAG);
//Log Win in database with moves
mDbHelper.open();
mDbHelper.createScoreItem(&lexis&, GidiGamesActivity.currentlanguage, &&, score, thetime) ; //(&lexis&, &&, score, thetime);
mDbHelper.close() ;
//Add scroll to the Layer
//Add Top Scroll
CCSprite topscroll = CCSprite.sprite(&darktranstop.png&);
float picscale = screenSize.width/topscroll.getContentSize().
topscroll.setScale(picscale);
topscroll.setPosition(CGPoint.ccp(screenSize.width / 2.0f, screenSize.height + topscroll.getContentSize().height));
pauseOverlay.addChild(topscroll,1,SCROLL_TOP_TAG);
topscroll.runAction(CCSequence.actions(
CCDelayTime.action(0.4f),
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f,screenSize.height - (topscroll.getContentSize().height * picscale)/2)),
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f,screenSize.height - (topscroll.getContentSize().height * picscale)/2 + 20 * picscale ))
String scoretext = && ;
if (score & 200){
scoretext = &Excellent Job! & +score + & Points!!!!&;
}else if (score & 200 && score & 20 ) {
scoretext = &Fair Try! & +score + & Points!!!!&;
}else if (score & 0 ) {
scoretext = &Ooooops & +score + & Points! :( &;
emitter = new CCQuadParticleSystem(50);
emitter.setScale(tilescalefactor);
emitter.setPosition(CGPoint.ccp(screenSize.width, screenSize.height));
pauseOverlay.addChild(emitter, 100);
emitter.setTexture(CCTextureCache.sharedTextureCache().addImage(&stars_grayscale.png&));
// duration
emitter.setDuration(CCParticleSystem.kCCParticleDurationInfinity);
// Gravity Mode: gravity
emitter.setGravity(CGPoint.zero());
// Set &Gravity& mode (default one)
emitter.setEmitterMode(CCParticleSystem.kCCParticleModeGravity);
// Gravity Mode: speed of particles
emitter.setSpeed(160);
emitter.setSpeedVar(20);
// Gravity Mode: radial
emitter.setRadialAccel(-120);
emitter.setRadialAccelVar(0);
// Gravity Mode: tagential
emitter.setTangentialAccel(30);
emitter.setTangentialAccelVar(0);
emitter.setAngle(90);
emitter.setAngleVar(360);
// emitter position
emitter.setPosition(CGPoint.ccp(160,240));
emitter.setPosVar(CGPoint.zero());
// life of particles
emitter.setLife(4);
emitter.setLifeVar(1);
// spin of particles
emitter.setStartSpin(0);
emitter.setStartSpinVar(0);
emitter.setEndSpin(0);
emitter.setEndSpinVar(0);
// color of particles
ccColor4F startColor = new ccColor4F(0.5f, 0.5f, 0.5f, 1.0f);
emitter.setStartColor(startColor);
ccColor4F startColorVar = new ccColor4F(0.5f, 0.5f, 0.5f, 1.0f);
emitter.setStartColorVar(startColorVar);
ccColor4F endColor = new ccColor4F(0.1f, 0.1f, 0.1f, 0.2f);
emitter.setEndColor(endColor);
ccColor4F endColorVar = new ccColor4F(0.1f, 0.1f, 0.1f, 0.2f);
emitter.setEndColorVar(endColorVar);
// size, in pixels
emitter.setStartSize(80.0f);
emitter.setStartSizeVar(40.0f);
emitter.setEndSize(CCParticleSystem.kCCParticleStartSizeEqualToEndSize);
// emits per second
emitter.setEmissionRate( emitter.getTotalParticles()/emitter.getLife());
// additive
emitter.setBlendAdditive(true);
CCBitmapFontAtlas gamepaused = CCBitmapFontAtlas.bitmapFontAtlas (scoretext, &dalek.fnt&);
gamepaused.setColor(ccColor3B.ccc3(105, 75, 41));
gamepaused.setScale( GidiGamesActivity.scalefactor + 0.4f * GidiGamesActivity.scalefactor);
gamepaused.setAnchorPoint(1f,1f);
gamepaused.setPosition(CGPoint.ccp(screenSize.width + gamepaused.getContentSize().width + 40 , screenSize.height -20 ));
pauseOverlay.addChild(gamepaused,300,GAME_PUASES_LABEL_TAG);
gamepaused.runAction(CCSequence.actions(
CCDelayTime.action(0.5f),
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width - 20.0f * picscale, screenSize.height - 25 * picscale ))
pauseOverlay.addChild(gamepaused,300,GAME_PUASES_LABEL_TAG);
CCBitmapFontAtlas gamemoves = CCBitmapFontAtlas.bitmapFontAtlas ( CCFormatter.format(&%02d&, score ) + & Points&, &bionic.fnt&);
gamemoves.setAnchorPoint(CGPoint.ccp(0,1));
//gamemoves.setColor(ccColor3B.ccc3(105, 75, 41));
gamemoves.setScale(tilescalefactor);
gamemoves.setAnchorPoint(0.5f,1f);
gamemoves.setPosition(CGPoint.ccp(screenSize.width / 2.0f , screenSize.height/2.0f ));
pauseOverlay.addChild(gamemoves,300,GAME_PUASES_LABEL_TAG);
gamemoves.runAction(CCSequence.actions(
CCDelayTime.action(0.5f),
CCScaleBy.action(0.2f, 2.0f)
CCBitmapFontAtlas instructionFontAtlas = CCBitmapFontAtlas.bitmapFontAtlas( &TAP Menu button below to continue!& , &bionic.fnt&);
instructionFontAtlas.setPosition(gamemoves.getPosition().x, -instructionFontAtlas.getContentSize().height*0.6f*tilescalefactor) ;
instructionFontAtlas.setScale(0.6f*tilescalefactor) ;
pauseOverlay.addChild(instructionFontAtlas,301);
instructionFontAtlas.runAction(CCSequence.actions(
CCDelayTime.action(0.5f),
CCMoveTo.action(0.5f, CGPoint.make(gamemoves.getPosition().x, gamemoves.getPosition().y - 10*tilescalefactor - gamemoves.getContentSize().height *tilescalefactor * 2.0f))
CCBitmapFontAtlas gametime = CCBitmapFontAtlas.bitmapFontAtlas (&Time Up& , &bionic.fnt&);
gametime.setAnchorPoint(CGPoint.ccp(0,1));
//gamemoves.setColor(ccColor3B.ccc3(105, 75, 41));
gametime.setScale(tilescalefactor);
gametime.setAnchorPoint(0.5f,1f);
gametime.setPosition(CGPoint.ccp(screenSize.width / 2.0f , gamemoves.getPosition().y + gamemoves.getContentSize().height*tilescalefactor/2.0f + 10 ));
pauseOverlay.addChild(gametime,301);
thetime = 0 ;
// Add Pause Menu Buttons
//CCMenuItemImage playbtn = CCMenuItemImage.item(&play.png&, &play.png&,this, &playCallback&);
//CCMenuItemImage refreshbtn = CCMenuItemImage.item(&refresh.png&, &refresh.png&,this, &refreshCallback&);
CCMenuItemImage menubtn = CCMenuItemImage.item(&menu.png&, &menu.png&,this, &menuCallback&);
menubtn.setScale(0.9f*tilescalefactor);
CCMenu resumemenu = CCMenu.menu(menubtn);
resumemenu.setPosition(CGPoint.make(0, 0));
menubtn.setPosition(CGPoint.make(screenSize.width - menubtn.getContentSize().width*tilescalefactor/2.0f , menubtn.getContentSize().height*tilescalefactor/2.0f));
//refreshbtn.setPosition(CGPoint.make(screenSize.width - refreshbtn.getContentSize().width - menubtn.getContentSize().width - 15, refreshbtn.getContentSize().height));
//cplaybtn.setPosition(CGPoint.make(screenSize.width -
playbtn.getContentSize().width
- 20, playbtn.getContentSize().height));
//resumemenu.setPosition(CGPoint.make(screenSize.width - resumemenu.getContentSize().width - 50, resumemenu.getContentSize().height));
pauseOverlay.addChild(resumemenu, 2,RESUME_MENU_TAG) ;
public void removePauseMenu(Object theSprite) {
CCColorLayer pauselayer = (CCColorLayer) getChildByTag(PAUSE_OVERLAY_TAG) ;
CCMenu resumemenu = (CCMenu) pauselayer.getChildByTag(RESUME_MENU_TAG);
resumemenu.setVisible(false);
CCMenu pausemenu = (CCMenu) getChildByTag(PAUSE_MENU_TAG);
pausemenu.setVisible(true);
pauselayer.removeAllChildren(true);
pauselayer.removeSelf() ;
public void playCallback(Object theSprite){
schedule(&launchSprite&, 0.8f);
schedule(&updateTimeLabel&, 1.0f);
CCColorLayer pauselayer = (CCColorLayer) getChildByTag(PAUSE_OVERLAY_TAG) ;
CCBitmapFontAtlas gamepaused = (CCBitmapFontAtlas)
pauselayer.getChildByTag(GAME_PUASES_LABEL_TAG) ;
gamepaused.runAction(CCMoveTo.action(0.3f, CGPoint.make(screenSize.width + gamepaused.getContentSize().width*tilescalefactor, gamepaused.getPosition().y)));
CCSprite topscroll = (CCSprite) pauselayer .getChildByTag(SCROLL_TOP_TAG);
topscroll.runAction(CCSequence.actions(
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f,screenSize.height - topscroll.getContentSize().height*tilescalefactor/2 - 20*tilescalefactor)),
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f, screenSize.height + topscroll.getContentSize().height*tilescalefactor)),
CCCallFuncN.action(this, &removePauseMenu&)
public void refreshCallback(Object theSprite){
score = 0 ;
time = 90 ;
UpdateScoreLabel (false);
schedule(&launchSprite&, 0.8f);
CCColorLayer pauselayer = (CCColorLayer) getChildByTag(PAUSE_OVERLAY_TAG) ;
CCSprite topscroll = (CCSprite) pauselayer .getChildByTag(SCROLL_TOP_TAG);
topscroll.runAction(CCSequence.actions(
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f,screenSize.height - topscroll.getContentSize().height/2 - 20)),
CCMoveTo.action(0.2f, CGPoint.make(screenSize.width / 2.0f, screenSize.height + topscroll.getContentSize().height))
CCMenu resumemenu = (CCMenu) pauselayer.getChildByTag(RESUME_MENU_TAG);
resumemenu.setVisible(false);
CCMenu pausemenu = (CCMenu) getChildByTag(PAUSE_MENU_TAG);
pausemenu.setVisible(true);
pauselayer.removeAllChildren(true);
pauselayer.removeSelf() ;
public void menuCallback(Object theSprite){
thetime = 90 ;
CCDirector.sharedDirector().replaceScene(LexisMenuLayer.scene());
public void updateTimeLabel(float dt) {
if (time & 0){
time -= 1;
String string = CCFormatter.format(&%02d:%02d&, (int)(time /60) , (int)time
CCBitmapFontAtlas timerLabel = (CCBitmapFontAtlas) getChildByTag(TIMER_LABEL_TAG) ;
if(time == 15){
SoundEngine.sharedEngine().playSound(GidiGamesActivity.app, R.raw.warning,true);
timerLabel .setColor(ccColor3B.ccRED);
timerLabel.setString(string);
CCScheduler.sharedScheduler().pause(this);
SoundEngine.sharedEngine().realesSound(R.raw.warning);
//unschedule (&spawnSprite&);
CCBitmapFontAtlas timerLabel = (CCBitmapFontAtlas) getChildByTag(TIMER_LABEL_TAG) ;
timerLabel.stopAllActions();
timerLabel.setScale(1.0f*tilescalefactor);
time = 90 ;
//timerLabel.setColor(ccColor3B.ccc3(50, 205, 50));
gameOver() ;
public void wordCallback(CCNodeExt eachNode) {
//Update Score Label
//If we have the right word
if( eachNode.getNodeText().equals(englishtrans.get(currentindex))){
//Increase Score
score+= 50 ;
UpdateScoreLabel(true);
//Play Word Dedstroyed sound
SoundEngine.sharedEngine().playEffect(GidiGamesActivity.app, R.raw.word_destroyed);
//Decrease Score
score-= 10 ;
UpdateScoreLabel (false);
//Play Buzz sound
SoundEngine.sharedEngine().playEffect(GidiGamesActivity.app, R.raw.buzz);
//eachNode.stopAllActions();
//CCSequence fallaction = CCSequence.actions(CCMoveTo.action(0.5f, CGPoint.zero()), CCCallFuncN.action(this, &correctWordLanded&));
//eachNode.runAction(fallaction);
eachNode.setVisible(false) ;
public void UpdateScoreLabel (boolean situation){
CCBitmapFontAtlas scoreLabel = (CCBitmapFontAtlas) getChildByTag(SCORE_LABEL_TAG);
String scorestring = CCFormatter.format(&%03d&, score);
scoreLabel.setString(scorestring);
if(situation){
currentindexholder++ ;
currentindex = englishtransList.get((currentindexholder) % englishtransList.size() );
currentword = rootwords.get(currentindex)
CCBitmapFontAtlas mainWordLabel = (CCBitmapFontAtlas) getChildByTag(MAIN_WORD_NODE_LABEL_TAG).getChildByTag(1);
mainWordLabel.setString(currentword);
public void launchSprite(float dt) {
Iterator&Integer& itr = spriteCounter.iterator();
float splitfactor = 10 *
screenSize = CCDirector.sharedDirector().winSize();
if(itr.hasNext()){
//Play throwing sound
SoundEngine.sharedEngine().playEffect(GidiGamesActivity.app, R.raw.throwsprite);
numSpritePause++ ;
corrhop ++ ;
nextindex = itr.next();
spriteCounter.remove(spriteCounter.indexOf(nextindex));
CCNodeExt eachNode = (CCNodeExt)getChildByTag(nextindex); //spriteList.get(nextindex) ;
CCBitmapFontAtlas eachItem = (CCBitmapFontAtlas) eachNode.getChildByTag(1) ;
if (corrhop == maxcorrhop){
eachItem.setString(englishtrans.get(currentindex));
eachNode.setNodeText(englishtrans.get(currentindex)) ;
eachNode.setNodeThrowTag(currentindex);
corrhop = 0 ;
maxcorrhop = 3 + (int)(Math.random()* 5)
currentthrowindex = (currentthrowindex + 1) % throwindexes.size() ;
cursel = throwindexes.get(currentthrowindex);
while (cursel == currentindex){
currentthrowindex = (currentthrowindex + 1) % throwindexes.size() ;
cursel = throwindexes.get(currentthrowindex);
throwindexes.remove(currentthrowindex);
eachNode.setNodeThrowTag(cursel);
textbuffer = englishtrans.get(cursel) ;
eachItem.setString(textbuffer);
eachNode.setNodeText(textbuffer) ;
eachNode.setScale(1.5f );
if(throwposition){
startx = (int) (eachItem.getContentSize().width * tilescalefactor ) ;
endx = (int) (screenSize.width - eachItem.getContentSize().width * tilescalefactor - screenSize.width/splitfactor) ;
throwposition =
startx =(int) (screenSize.width - eachItem.getContentSize().width
* tilescalefactor - screenSize.width/splitfactor) ;
endx = (int) (eachItem.getContentSize().width * tilescalefactor + screenSize.width/splitfactor) ;
throwposition =
jumpheight = (int) (0.8 * screenSize.height
+ (ccMacros.CCRANDOM_0_1() * (screenSize.height - (0.8*screenSize.height) - (eachNode.getContentSize().height * tilescalefactor))));
Random rand =
new Random();
eachNode.setPosition(CGPoint.make(startx, (eachNode.getContentSize().height * tilescalefactor / 2)* -1 ));
CCSequence jumpaction = CCSequence.actions(
CCJumpTo.action(2.5f, CGPoint.make(endx, -1 * eachNode.getContentSize().height ), jumpheight , 1),
CCDelayTime.action(0.4f + (rand.nextFloat() * 1.6f) ),
CCCallFuncN.action(this, &destroySprite&)
//jumpaction.setTag(JUMP_ACTION_TAG);
eachNode.resumeSchedulerAndActions();
eachNode.runAction(jumpaction);
public void destroySprite(Object theSprite) {
CCNodeExt sprite = (CCNodeExt)theS
sprite.setVisible(true);
spriteCounter.add(sprite.getTag()) ;
throwindexes.add(sprite.getNodeThrowTag());
public boolean ccTouchesMoved(MotionEvent event)
CGPoint location = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(event.getX(), event.getY()));
CGRect spriteP
for (int i = 0 ; i & MAX_SPRITE_POOL; i++){
CCNodeExt eachNode = (CCNodeExt)getChildByTag(i);
spritePos = CGRect.make(eachNode.getPosition().x - (eachNode.getContentSize().width/2.0f),
eachNode.getPosition().y - (eachNode.getContentSize().height/2.0f),
eachNode.getContentSize().width
eachNode.getContentSize().height
if(spritePos.contains(location.x, location.y)){
ccMacros.CCLOG(&Touched Node&, &touched : & + eachNode.getNodeText());
wordCallback(eachNode);
/*ccMacros.CCLOG(&Touch Pos&,& & + location.x + &
& + location.y);
ccMacros.CCLOG(&Sprite-1 Pos&, &Sprite-1 Pos & + getChildByTag(0).getPosition().x + &
& + getChildByTag(0).getPosition().y);
ccMacros.CCLOG(&Sprite-2 Pos&, &Sprite-2 Pos & + getChildByTag(1).getPosition().x + &
& + getChildByTag(1).getPosition().y);
ccMacros.CCLOG(&Sprite-3 Pos&, &Sprite-3 Pos & + getChildByTag(2).getPosition().x + &
& + getChildByTag(2).getPosition().y);
ccMacros.CCLOG(&Sprite-4 Pos&, &Sprite-4 Pos & + getChildByTag(3).getPosition().x + &
& + getChildByTag(3).getPosition().y);
streak.setPosition(location);
public void wordTouchedCallback(CCNodeExt touchedNode){
Copyright(C)
OKBASE.NET All Rights Reserved 好库网 版权所有}

我要回帖

更多关于 andriod 开发教程 的文章

更多推荐

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

点击添加站长微信