'2015/12'에 해당되는 글 5건
- Shift+Space 한영 전환 2015/12/21
- Making git server 2015/12/14
- Vec2 ? Point? (4) 2015/12/13
- Check items in cocos2d-x, Part 2 2015/12/10
- Check items in cocos2d-x 2015/12/07
처음에 그냥 윈도우를 설치할 때 타입3을 선택해 주면 된다. 그러나, 타입1로 설치하고 난 후에 다시 타입3으로 바꾸려면 따로 설정을 바꿀 수 없으므로 레지스트리를 수정해줘야 한다.
나 같은 경우 리눅스에 vmplayer를 설치하고 윈도우를 깔았는데, 한영키가 동작하지 않고, 오른쪽 Alt키를 눌러야 한영전환이 이루어진다. 그래서 그냥 shift+space로 바꾸려고 하는데, 방법을 찾지 못하다가 오늘 구글링으로 드디어 찾았다. 다음과 같이 해 주면 된다.
1. regedit을 실행한다.
2. \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters밑에
3. LayerDriver KOR의 “kdb101a.dll”을 “kdb101c.dll”로 바꾸고,
4. OverrideKeyboardSubtype을 DWORD로 추가하여 값을 5로 세팅한다.
이제 rebooting을 하고 나면 shift+space로 한영전환이 이루어진다.
$ git clone --bare my_project my_project.git
$ scp -r my_project.git user@git.example.com:/directory/to/git
$ git clone user@git.example.com:/directory/to/git/my_project.git
Point was refactored to Vector2 and then Vec2.
However, Point was already wide-spread, it was typedef-ed to Point in Vec2.h
Using camera
Creating orthogonal camera
Hide objects from camera
auto s= Director::getInstance()->getWinSize();
auto camera= Camera::createPerspective(60, (GLfloat)s.width/s.height, 1, 1000);
// set parameters for camera
camera->setPosition3D(Vec3(0, 100, 100));
camera->lookAt(Vec3(0, 0, 0), Vec3(0, 1, 0));
addChild(camera); // add camera to the scene
auto s= Director::getInstance()->getWinSize();
auto camera= Camera::createOrthographic(s.width, s.height, 1, 1000);
// camera
camera->setCameraFlag(CameraFlag::USER1);
// node
node->setCameraMask(CameraFlag::USER1);
Polygon Sprite and AutoPolygon
Check performance between normal sprite and polygon sprite (area to draw vs. function call count)
auto pinfo= AutoPolygon::generatePolygon("filename.png");
auto spp= Sprite::create(pinfo);
Touch event handling
Widget::TouchEventType
ui::Widget::TouchEventType::BEGAN
ui::Widget::TouchEventType::ENDED
LoadingBar
#include "ui/CocosGUI.h"
auto loadingBar= LoadingBar::create("LoadingBarFile.png");
// set the direction of the loading bars progress
loadingBar->setDirection(LoadingBar:::Direction::RIGHT);
this->addChild(loadingBar);
// something happened, change the percentage of the loading bar
loadingBar->setPercent(25);
// more things happened, change the percentage again
loadingBar->setPercent(35);
TextField
#include "ui/CocosGUI.h"
auto textField= TextField::create("", "Arial", 30);
textField->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type) {
std::cout << "editing a TextField" << std::endl;
});
// make this TextField password enabled
textField->setPasswordEnabled(true);
// set the maximum number of characters the user can enter for this TextField
textField->setMaxLength(10);
this->addChild(textField);
ParallaxNode
// create ParallaxNode
auto paraNode= ParallaxNode::create();
// background image is moved at a ratio of 0.4x, 0.5y
paraNode->addChild(background, -1, Vec2(0.4f, 0.5f), Vec2::ZERO);
// tiles are moved at a ratio of 2.2x, 1.0y
paraNode->addChild(middle_layer, 1, Vec2(2.2f, 1.0f), Vec2(0, -200));
// top image is moved at a ratio of 3.0x, 2.5y
paraNode->addChild(top_layer, 2, Vec2(3.0f, 2.5f), Vec2(200, 800));
5 types of event listeners
EventListenerTouch
- responds to touch events- EventListenerKeyboard - responds to keyboard events
EventListenerAcceleration
- responds to accelerometer eventsEventListenerMouse
- responds to mouse eventsEventListenerCustom
- responds to custom events
EventDispatcher
- A node of a lower value of
FixedPriority
receives events before nodes with higher values SceneGraphPriority
is a pointer to aNode
. Event listeners with higher z-order values receives events before event listeners have lower z-order values.
Touch Events
// Create a "one by one" touch event listener
// (processes one touch at a time)
auto listener1= EventListenerTouchOneByOne::create();
// When "swallow touches" is true, then returning 'true' from the
// onTouchBegan method will "swallow" the touch event, preventing
// other listeners from using it
listener1->setSwallowTouches(true);
// trigger when you push down
listener1->onTouchBegan= [](Touch* touch, Event* event) {
// your code
return true; // if you are consuming it
});
// trigger when moving touch
listener1->onTouchMoved= [](Touch* touch, Event* event) {
// your code
});
// trigger when you let up
listener1->onTouchEnded= [=](Touch* touch, Event* event) {
// your code
});
// Add listener
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, this);
댓글을 달아 주세요