Mode:
Duration:
1
Coding works best on desktop or with an external keyboard.
Coding works best on desktop or with an external keyboard.
Moves a sprite with arrow keys.
#include "KeyboardScene.h"
#include "cocos2d.h"
USING_NS_CC;
bool KeyboardScene::init() {
if (!Scene::init()) return false;
sprite = Sprite::create("hero.png");
sprite->setPosition(Vec2(200, 200));
addChild(sprite);
auto listener = EventListenerKeyboard::create();
listener->onKeyPressed = [&](EventKeyboard::KeyCode key, Event*) {
if (key == EventKeyboard::KeyCode::KEY_RIGHT_ARROW) sprite->setPositionX(sprite->getPositionX() + 10);
if (key == EventKeyboard::KeyCode::KEY_LEFT_ARROW) sprite->setPositionX(sprite->getPositionX() - 10);
};
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
return true;
}Cocos2d-x is a cross-platform, open-source C++ game engine optimized for 2D games, offering high performance, a lightweight architecture, scene graph system, physics, animations, particle effects, and deployment to mobile, desktop, web, and consoles.
Origin & Creator
Cocos2d-x originated from the Python-based Cocos2d project, created by Ricardo Quesada. It was later rewritten in C++ by Chukong Technologies and released in 2010 as a fast cross-platform engine for mobile.
Industrial Note
Cocos2d-x dominates the mobile 2D gaming industry in Asia, powering thousands of games in China, Japan, and Korea - especially hypercasual games, casino games, match-3 titles, and educational products requiring fast rendering.