• V4 API 变更
    • cocos2d::ActionManager
    • cocos2d::Animate3D
    • cocos2d::Animation
    • cocos2d::Animation3D
    • cocos2d::AnimationCache
    • cocos2d::AsyncTaskPool
    • 替换 GLProgram & GLProgramState 为 Program & ProgramState
    • 移除 类 cocos2d::BatchCommand
    • 新增 类 cocos2d::CallbackCommand
    • cocos2d::CallFunc
    • cocos2d::CallFuncN
    • cocos2d::Camera 重构
    • 新增 类 cocos2d::CaptureScreenCallbackCommand
    • cocos2d::Clonable
    • cocos2d::Configuration
    • cocos2d::RenderCommand 重构
    • cocos2d::TriangleCommand 重构
    • cocos2d::CustomCommand 重构
    • cocos2d::MeshCommand 重构
    • cocos2d::Director
    • cocos2d::DrawNode
    • 移除 类 cocos2d::experimental::FrameBuffer
    • 移除 类 cocos2d::experimental::RenderTargetBase
    • 移除 类 cocos2d::experimental::RenderTargetDepthStencil
    • 移除 类 cocos2d::experimental::RenderTargetRenderBuffer
    • cocos2d::FileUtils
    • cocos2d::Follow
    • cocos2d::Font
    • cocos2d::GLView
    • cocos2d::Grid3D
    • cocos2d::GridBase
    • cocos2d::Image
    • cocos2d::IMEDispatcher
    • 移除 类 cocos2d::IndexBuffer
    • cocos2d::Label
    • cocos2d::Layer
    • 移除 类 cocos2d::LabelBMFont
    • 移除 类 cocos2d::LabelTTF
    • cocos2d::Material
    • cocos2d::MenuItem
    • cocos2d::MenuItemAtlasFont
    • cocos2d::MenuItemFont
    • cocos2d::MenuItemImage
    • cocos2d::MenuItemLabel
    • cocos2d::MenuItemSprite
    • cocos2d::MenuItemToggle
    • cocos2d::Mesh
    • cocos2d::Node
    • cocos2d::ParticleSystem
    • cocos2d::ParticleSystemQuad
    • cocos2d::Pass 重构
    • cocos2d::PhysicsShape
    • cocos2d::PoolManager
    • 移除 类 cocos2d::PrimitiveCommand
    • cocos2d::Profiler
    • cocos2d::ProgressTimer
    • 重新实现 cocos2d::Renderer
    • cocos2d::RenderTexture
    • cocos2d::Scene
    • cocos2d::Scheduler
    • cocos2d::ScriptEngineManager
    • cocos2d::Sprite
    • cocos2d::Sprite3D
    • cocos2d::Sprite3DMaterial
    • cocos2d::SpriteFrameCache
    • cocos2d::Technique
    • cocos2d::Texture2D 重构
    • cocos2d::TextureAtlas
    • cocos2d::TextureCache
    • cocos2d::TextureCube
    • cocos2d::TiledGrid3D
    • cocos2d::TileMapAtlas
    • cocos2d::TMXLayer
    • cocos2d::TMXMapInfo
    • cocos2d::TMXObjectGroup
    • cocos2d::TMXTiledMap
    • 移除 类 cocos2d::UniformValue
    • cocos2d::UserDefault
    • cocos2d::ZipUtils

    V4 API 变更

    以下内容列举了主要的(不完全)接口变更

    cocos2d::ActionManager

    • 移除 numberOfRunningActionsInTarge, 使用 getNumberOfRunningActionsInTarget 替代.

    cocos2d::Animate3D

    • 移除 getPlayBack
    • 移除 setPlayBack

    cocos2d::Animation

    • 重命名 addSpriteFrameWithFileNameaddSpriteFrameWithFile.

    cocos2d::Animation3D

    • 移除 getOrCreate, 使用 create 替代.

    cocos2d::AnimationCache

    • 移除 purgeSharedAnimationCache, 使用 destroyInstance 替代.
    • 移除 sharedAnimationCache, 使用 getInstance 替代.
    • 移除 animationByName, 使用 getAnimation 替代.
    • 移除 removeAnimationByName, 使用 removeAnimation 替代.

    cocos2d::AsyncTaskPool

    • 拼写修复 destoryInstancedestroyInstance

    替换 GLProgram & GLProgramState 为 Program & ProgramState

    移除 类 cocos2d::BatchCommand

    新增 类 cocos2d::CallbackCommand

    cocos2d::CallFunc

    • 移除 create(cocos2d::Ref *, cocos2d::SEL_CallFunc)
    • 移除 initWithTarget, 使用 initWithFunction 替代
    • 移除 setTargetCallback

    cocos2d::CallFuncN

    • 移除 create(cocos2d::Ref *, cocos2d::SEL_CallFuncN)
    • 移除 initWithTarget

    cocos2d::Camera 重构

    • 移除 applyFrameBufferObject
    • 移除 restore
    • 移除 restoreFrameBufferObject
    • 移除 restoreViewport
    • 移除 setFrameBufferObject
    • 移除 setViewport, 通过 Renderer 访问

    新增 类 cocos2d::CaptureScreenCallbackCommand

    cocos2d::Clonable

    • 移除 copy

    cocos2d::Configuration

    • 移除 purgeConfiguration, 使用 getInstance 替代.
    • 移除 sharedConfiguration, 使用 destroyInstance 替代.
    • 新增 getMaxAttributes

    cocos2d::RenderCommand 重构

    cocos2d::TriangleCommand 重构

    cocos2d::CustomCommand 重构

    cocos2d::MeshCommand 重构

    cocos2d::Director

    • 移除 sharedDirector, 使用 getInstance 替代.
    • 移除 getClearColor
    • 移除 getProjectionMatrix, 通过 Camera 访问
    • 移除 getProjectionMatrixStackSize
    • 移除 initProjectionMatrixStack
    • 移除 loadProjectionIdentityMatrix
    • 移除 loadProjectionMatrix
    • 移除 multiplyProjectionMatrix
    • 移除 popProjectionMatrix
    • 移除 pushProjectionMatrix
    • 移除 setAlphaBlending, 通过 Renderer 访问
    • 移除 setDepthTest, 通过 Renderer 访问

    cocos2d::DrawNode

    • 移除 drawQuadraticBezier

    移除 类 cocos2d::experimental::FrameBuffer

    移除 类 cocos2d::experimental::RenderTargetBase

    移除 类 cocos2d::experimental::RenderTargetDepthStencil

    移除 类 cocos2d::experimental::RenderTargetRenderBuffer

    cocos2d::FileUtils

    • 移除 purgeFileUtils, 使用 destroyInstance 替代.
    • 移除 sharedFileUtils, 使用 getInstance 替代.
    • 移除 getFileData, 使用 getDataFromFile 替代.

    cocos2d::Follow

    • 拼写修复 setBoudarySetsetBoundarySet

    cocos2d::Font

    • 移除 getHorizontalKerningForTextUTF16

    cocos2d::GLView

    • 移除 getVR
    • 移除 pollInputEvents
    • 移除 setCursor
    • 移除 setDefaultCursor
    • 移除 setVR

    cocos2d::Grid3D

    • 移除 originalVertex, 使用 getOriginalVertex 替代.
    • 移除 vertex, 使用 getVertex 替代.

    cocos2d::GridBase

    • 移除 create(const cocos2d::Size &, cocos2d::Texture2D *, bool)
    • 移除 create(const cocos2d::Size &)

    cocos2d::Image

    • 重命名 getRenderFormatgetPixelFormat.
    • 移除 isPremultipliedAlpha, 使用 hasPremultipliedAlpha 替代.
    • 重命名 premultiplyAlphapremultipliedAlpha.
    • 移除 reversePremultipliedAlpha

    cocos2d::IMEDispatcher

    • 移除 isAnyDelegateAttachedWithIME

    移除 类 cocos2d::IndexBuffer

    cocos2d::Label

    • 移除 create(const std::string &, const std::string &, float, const cocos2d::Size &, cocos2d::TextHAlignment, cocos2d::TextVAlignment)
    • 移除 getCommonLineHeight, 使用 getLineHeight 替代.
    • 移除 getFontDefinition
    • 移除 setFontDefinition
    • 新增 setProgramState

    cocos2d::Layer

    • 移除 ccTouchBegan, 使用 onTouchBegan 替代.
    • 移除 ccTouchCancelled, 使用 onTouchCancelled 替代.
    • 移除 ccTouchEnded, 使用 onTouchEnded 替代.
    • 移除 ccTouchesBegan, 使用 onTouchesBegan 替代.
    • 移除 ccTouchesCancelled, 使用 onTouchesCancelled 替代.
    • 移除 ccTouchesEnded, 使用 onTouchesEnded 替代.
    • 移除 ccTouchesMoved, 使用 onTouchesMoved 替代.
    • 移除 ccTouchMoved, 使用 onTouchMoved 替代.
    • 移除 didAccelerate
    • 移除 isAccelerometerEnabled
    • 移除 isKeyboardEnabled
    • 移除 isKeypadEnabled
    • 移除 isSwallowsTouches
    • 移除 isTouchEnabled
    • 移除 keyBackClicked, 使用 onKeyReleased 替代.
    • 移除 keyMenuClicked, 使用 onKeyReleased 替代.
    • 移除 keyPressed, 使用 onKeyPressed 替代.
    • 移除 keyReleased, 使用 onKeyReleased 替代.
    • 移除 registerWithTouchDispatcher
    • 移除 setAccelerometerEnabled
    • 移除 setAccelerometerInterval
    • 移除 setKeyboardEnabled
    • 移除 setKeypadEnabled
    • 移除 setSwallowsTouches
    • 移除 setTouchEnabled
    • 移除 setTouchMode

    移除 类 cocos2d::LabelBMFont

    移除 类 cocos2d::LabelTTF

    cocos2d::Material

    • 重命名 createWithGLStateProgramcreateWithProgramState.
    • 新增 createWithProgramState
    • 新增 getRenderState
    • 新增 getStateBlock
    • 新增 setStateBlock

    cocos2d::MenuItem

    • 移除 create(cocos2d::Ref *, cocos2d::SEL_MenuHandler)
    • 移除 initWithTarget

    cocos2d::MenuItemAtlasFont

    • 移除 create(const std::string &, const std::string &, int, int, char, cocos2d::Ref *, cocos2d::SEL_MenuHandler)
    • 移除 initWithString

    cocos2d::MenuItemFont

    • 移除 create(const std::string &, cocos2d::Ref *, cocos2d::SEL_MenuHandler)
    • 移除 fontName, 使用 getFontName 替代.
    • 移除 fontSize, 使用 getFontSize 替代.
    • 移除 fontNameObj, 使用 getFontNameObj 替代.
    • 移除 fontSizeObj, 使用 getFontSizeObj 替代.
    • 移除 initWithString(const std::string &, cocos2d::Ref *, cocos2d::SEL_MenuHandler)

    cocos2d::MenuItemImage

    • 移除 create(const std::string &, const std::string &, cocos2d::Ref *, cocos2d::SEL_MenuHandler)
    • 移除 create(const std::string &, const std::string &, const std::string &, cocos2d::Ref *, cocos2d::SEL_MenuHandler)
    • 移除 initWithNormalImage(const std::string &, const std::string &, const std::string &, cocos2d::Ref *, cocos2d::SEL_MenuHandler)

    cocos2d::MenuItemLabel

    • 移除 create(cocos2d::Node , cocos2d::Ref , cocos2d::SEL_MenuHandler)
    • 移除 initWithLabel(cocos2d::Node , cocos2d::Ref , cocos2d::SEL_MenuHandler)

    cocos2d::MenuItemSprite

    • 移除 create(cocos2d::Node , cocos2d::Node , cocos2d::Node , cocos2d::Ref , cocos2d::SEL_MenuHandler)
    • 移除 create(cocos2d::Node , cocos2d::Node , cocos2d::Ref *, cocos2d::SEL_MenuHandler)
    • 移除 initWithNormalSprite(cocos2d::Node , cocos2d::Node , cocos2d::Node , cocos2d::Ref , cocos2d::SEL_MenuHandler)

    cocos2d::MenuItemToggle

    • 移除 createWithTarget(cocos2d::Ref , cocos2d::SEL_MenuHandler, cocos2d::MenuItem , ..)
    • 移除 createWithTarget(cocos2d::Ref , cocos2d::SEL_MenuHandler, const Vector<cocos2d::MenuItem > &)
    • 移除 initWithTarget(cocos2d::Ref , cocos2d::SEL_MenuHandler, cocos2d::MenuItem , __va_list_tag *)
    • 移除 selectedItem(), 使用 getSelectedItem 替代.

    cocos2d::Mesh

    • 移除 create(const std::vector<float> &, int, const cocos2d::Mesh::IndexArray &, int, const std::vector<MeshVertexAttrib> &, int)
    • 重命名 getGLProgramStategetProgramState.
    • 重命名 setGLProgramStatesetProgramState.
    • 移除 getMeshCommand
    • 新增 setVertexLayout

    cocos2d::Node

    • 移除 boundingBox, 使用 getBoundingBox 替代.
    • 移除 getGLProgram
    • 重命名 getGLProgramStategetProgramState.
    • 移除 getGLServerState
    • 移除 getRotationX, 使用 getRotationSkewX 替代
    • 移除 getRotationY, 使用 getRotationSkewY 替代
    • 移除 getShaderProgram
    • 移除 getVertexZ, 使用 getPositionZ 替代
    • 移除 getZOrder, 使用 getLocalZOrder 替代
    • 移除 ignoreAnchorPointForPosition, 使用 isIgnoreAnchorPointForPosition
    • 移除 nodeToParentTransform, 使用 getNodeToParentTransform 替代
    • 移除 nodeToWorldTransform, 使用 getNodeToWorldTransform 替代
    • 移除 numberOfRunningActions, 使用 getNumberOfRunningActions 替代
    • 移除 parentToNodeTransform, 使用 getParentToNodeTransform 替代
    • 移除 pauseSchedulerAndActions
    • 重命名 setGLProgramStatesetProgramState.
    • 移除 setGLProgram
    • 移除 setGLServerState
    • 移除 setRotationX, 使用 setRotationSkewX 替代
    • 移除 setRotationY, 使用 setRotationSkewY 替代
    • 移除 setShaderProgram
    • 移除 setVertexZ, 使用 setPositionZ 替代
    • 移除 setZOrder, 使用 setLocalZOrder 替代
    • 移除 unscheduleAllSelectors
    • 移除 worldToNodeTransform, 使用 getWorldToNodeTransform

    cocos2d::ParticleSystem

    • 移除 getOpacityModifyRGB

    cocos2d::ParticleSystemQuad

    • 移除 postStep

    cocos2d::Pass 重构

    cocos2d::PhysicsShape

    • 拼写修复 getPolyonCentergetPolygonCenter
    • 拼写修复 getTriaglesCountgetTrianglesCount

    cocos2d::PoolManager

    • 移除 purgePoolManager, 使用 destroyInstance 替代.
    • 移除 sharedPoolManager, 使用 getInstance 替代.

    移除 类 cocos2d::PrimitiveCommand

    cocos2d::Profiler

    • 移除 sharedProfiler, 使用 getInstance 替代.

    cocos2d::ProgressTimer

    • 移除 setReverseProgress, 使用 setReverseDirection 替代.

    重新实现 cocos2d::Renderer

    • 移除 clear
    • 新增 clear(cocos2d::ClearFlag, const cocos2d::Color4F &, float, unsigned int, float)
    • 新增 getClearDepth
    • 新增 getClearFlag
    • 新增 getClearStencil
    • 新增 getColorAttachment
    • 新增 getCullMode
    • 新增 getDepthAttachment
    • 新增 getDepthCompareFunction
    • 新增 getDepthTest
    • 新增 getDepthWrite
    • 移除 getGroupCommandManager
    • 移除 initGLView
    • 新增 getRenderTargetFlag
    • 新增 getScissorRect
    • 新增 getScissorTest
    • 新增 getStencilAttachment
    • 新增 getStencilCompareFunction
    • 新增 getStencilDepthPassOperation
    • 新增 getStencilFailureOperation
    • 新增 getStencilPassDepthFailureOperation
    • 新增 getStencilReadMask
    • 新增 getStencilReferenceValue
    • 新增 getStencilTest
    • 新增 getStencilWriteMask
    • 新增 getViewport
    • 新增 getWinding
    • 新增 init
    • 移除 setClearColor
    • 新增 setCullMode
    • 新增 setDepthCompareFunction
    • 新增 setDepthWrite
    • 新增 setRenderTarget
    • 新增 setScissorRect
    • 新增 setScissorTest
    • 新增 setStencilCompareFunction
    • 新增 setStencilOperation
    • 新增 setStencilTest
    • 新增 setStencilWriteMask
    • 新增 setViewPort
    • 新增 setWinding

    cocos2d::RenderTexture

    • 移除 newCCImage
    • 移除 newImage(bool), 使用 newImage(std::function<void (Image *)>, bool) 替代

    cocos2d::Scene

    • 移除 onEnter

    cocos2d::Scheduler

    • 移除 isScheduledForTarget
    • 移除 scheduleSelector
    • 移除 unscheduleSelector
    • 移除 unscheduleUpdateForTarget

    cocos2d::ScriptEngineManager

    • 移除 purgeSharedManager, 使用 destroyInstance 替代.
    • 移除 sharedManager, 使用 getInstance 替代.

    cocos2d::Sprite

    • 移除 displayFrame, 使用 getSpriteFrame 替代
    • 移除 getDisplayFrame, 使用 getSpriteFrame 替代
    • 新增 getProgramState
    • 拼写修复 setStrechEnabledsetStretchEnabled
    • 新增 setVertexLayout
    • 新增 updateShaders

    cocos2d::Sprite3D

    • 移除 getSkin
    • 新增 setVertexLayout
    • 移除 setGLProgramState, 使用 setProgramState 替代
    • 移除 setGLProgram

    cocos2d::Sprite3DMaterial

    • 重命名 createWithGLStateProgramcreateWithProgramState.

    cocos2d::SpriteFrameCache

    • 移除 purgeSharedSpriteFrameCache, 使用 destroyInstance 替代.
    • 移除 sharedSpriteFrameCache, 使用 getInstance 替代.
    • 移除 spriteFrameByName, 使用 getSpriteFrameByName 替代.

    cocos2d::Technique

    • 重命名 createWithGLProgramStatecreateWithProgramState.
    • 新增 getStateBlock
    • 新增 setMaterial

    cocos2d::Texture2D 重构

    • 移除 defaultAlphaPixelFormat 使用 getDefaultAlphaPixelFormat 替代.
    • 移除 bitsPerPixelForFormat(), 使用 getBitsPerPixelForFormat 替代.
    • 签名变更drawAtPoint(const cocos2d::Vec2 &, float)
    • 签名变更drawInRect(const cocos2d::Rect &, float)
    • 新增 getBackendTexture()
    • 移除 getDescription()
    • 移除 getGLProgram()
    • 移除 getName()
    • 移除 initWithData(const void *, ssize_t, Texture2D::PixelFormat, int, int, const cocos2d::Size &)
    • 移除 initWithImage(cocos2d::Image *, cocos2d::Texture2D::PixelFormat)
    • 新增 initWithBackendTexture(backend::TextureBackend *)
    • 新增 initWithData(const void *, ssize_t, backend::PixelFormat, backend::PixelFormat, int, int, const cocos2d::Size &)
    • 新增 initWithData(const void *, ssize_t, backend::PixelFormat, int, int, const cocos2d::Size &)
    • 新增 initWithImage(cocos2d::Image *, backend::PixelFormat)
    • 移除 initWithMipmaps(cocos2d::MipmapInfo *, int, Texture2D::PixelFormat, int, int)
    • 新增 initWithMipmaps(cocos2d::MipmapInfo *, int, backend::PixelFormat, backend::PixelFormat, int, int)
    • 移除 releaseGLTexture()
    • 新增 isRenderTarget()
    • 移除 setGLProgram(cocos2d::GLProgram *)
    • 新增 setRenderTarget(bool)
    • 移除 stringForFormat(), 使用 getStringForFormat 替代.

    cocos2d::TextureAtlas

    • 移除 drawNumberOfQuads
    • 移除 drawQuads
    • 新增 getIndices
    • 移除 listenRendererRecreated

    cocos2d::TextureCache

    • 移除 destroyInstance, 通过 Director 访问.
    • 移除 getInstance, 通过 Director 访问.
    • 移除 purgeSharedTextureCache
    • 移除 reloadAllTextures
    • 移除 sharedTextureCache
    • 移除 addUIImage, 使用 addImage 替代.
    • 移除 textureForKey, 使用 getTextureForKey 替代.

    cocos2d::TextureCube

    • 新增 getBackendTexture

    cocos2d::TiledGrid3D

    • 移除 originalTile, 使用 getOriginalTile 替代.
    • 移除 tile, 使用 getTile 替代.

    cocos2d::TileMapAtlas

    • 移除 tileAt, 使用 getTileAt 替代.

    cocos2d::TMXLayer

    • 移除 positionAt, 使用 getPositionAt 替代.
    • 移除 propertyNamed, 使用 getProperty 替代.
    • 移除 tileAt, 使用 getTileAt 替代.
    • 移除 tileGIDAt, 使用 getTileGIDAt 替代.

    cocos2d::TMXMapInfo

    • 移除 formatWithTMXFile, 使用 create 替代.
    • 移除 formatWithXML, 使用 createWithXML 替代.
    • 移除 getStoringCharacters, 使用 isStoringCharacters 替代.

    cocos2d::TMXObjectGroup

    • 移除 objectNamed, 使用 getObject 替代.
    • 移除 propertyNamed, 使用 getProperty 替代.

    cocos2d::TMXTiledMap

    • 移除 layerNamed, 使用 getLayer 替代.
    • 移除 objectGroupNamed, 使用 getObjectGroup 替代.
    • 移除 propertiesForGID, 使用 getPropertiesForGID 替代.
    • 移除 propertyNamed, 使用 getProperty 替代.

    移除 类 cocos2d::UniformValue

    cocos2d::UserDefault

    • 移除 purgeSharedUserDefault, 使用 destroyInstance 替代.
    • 移除 sharedUserDefault, 使用 getInstance 替代.

    cocos2d::ZipUtils

    • 移除 ccInflateCCZBuffer, 使用 inflateCCZBuffer 替代.
    • 移除 ccInflateCCZFile, 使用 inflateCCZFile 替代.
    • 移除 ccInflateGZipFile, 使用 inflateGZipFile 替代.
    • 移除 ccInflateMemory, 使用 inflateMemory 替代.
    • 移除 ccInflateMemoryWithHint, 使用 inflateMemoryWithHint 替代.
    • 移除 ccIsCCZBuffer, 使用 isCCZBuffer 替代.
    • 移除 ccIsCCZFile, 使用 isCCZFile 替代.
    • 移除 ccIsGZipBuffer, 使用 isGZipBuffer 替代.
    • 移除 ccIsGZipFile, 使用 isGZipFile 替代.
    • 移除 ccSetPvrEncryptionKey, 使用 setPvrEncryptionKey 替代.
    • 移除 ccSetPvrEncryptionKeyPart, 使用 setPvrEncryptionKeyPart 替代.