본문 바로가기

cocos2d-x

클릭 시 물결 효과 주기 // x, y 는 클릭한 블록 좌표 int distance = abs(x - i) + abs(y - j); blocks[i][j]->runAction( Sequence::create( DelayTime::create(0.1 + distance * 0.03), EaseElasticOut::create(ScaleTo::create(0.05, 1.2)), ScaleTo::create(0.03, 1.0), nullptr)); 작아지게 - 살짝 작아지게 - 보통 스케일 방향을 조절하여 오목하고 볼록한 느낌을 바꿀 수 있습니다. 커지게 - 살짝 커지게 - 보통 커지게 - 많이 더보기
조명 효과 어두운 부분을 좀더 어둡게 하고, 밝은 부분은 더 밝게 하여 전체적으로 강조 효과를 줄 수 있다.카툰 렌더링된 이미지에 어울리며, 이외의 이미지에는 이상한 결과가 나온다. DST : GL_DST_COLOR; SRC : GL_SRC_COLOR; 더보기
스킬 시전 효과 밝은 배경 어두운 배경 TODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODO 더보기
심장 박동 효과 내기 TODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODOTODO 더보기
[cocos2d-x] 외곽선 따기 auto rt = RenderTexture::create(640, 400); auto dragon = Sprite::create("dragon.png"); BlendFunc blend; blend.src = GL_ONE_MINUS_SRC_ALPHA; blend.dst = GL_ONE_MINUS_SRC_COLOR; dragon->setBlendFunc(add); rt->beginWithClear(0, 0, 0, 0); dragon->visit(); rt->end(); addChild(rt); 구해진 외곽선을 사용한 예제, 마우스 커서가 올라오면 밝아진다. 만약 외곽선으로 스프라이트 뒤에 글로우 효과 등을 주고 싶다면 다른 방법을 사용하는것이 편리합니다. 해당 방법은 후에 다시 작성하도록 하겠습니다. 응용 .. 더보기
[cocos2d-x] Scale + Ease auto sprite = Sprite::create("cake_1.png"); sprite->setScale(0); sprite->runAction( EaseExponentialOut::create(ScaleTo::create(1.0, 2.0))); addChild(sprite); Scale Scale + EaseExponentialOut Scale + EaseCircleActionOut Scale + EaseBackOut Scale + EaseElasticOut Scale + EaseBounceOut Scale + EaseSineOut Scale + EaseQuadraticActionOut 더보기
[cocos2d-x] 입력을 요구하는 오브젝트 만들기 사용자의 입력을 기다리는 상태(예를들어 Press any key to continue 같은...)의 오브젝트들은 화면상에서 약간 강조되어야 할 필요가 있습니다.이러한 오브젝트(또는 텍스트)에 약간 동적인 효과를 주면 유저의 시선을 끌 수 있고 입력을 재촉하는 효과 또한 낼수 있습니다. text->runAction( RepeatForever::create( Sequence::create( MoveBy::create(0.05, Vec2(-2, -1)), MoveBy::create(0.07, Vec2(2, 1)), nullptr))); 위의 샘플과 코드는 유저의 인풋을 재촉하기 위해서 텍스트 오브젝트를 매우 빠른 속도로 진동시키는 효과를 주는 예제입니다. 진동하는 주기가 길어지면(애니메이션 시간이 길어지면) .. 더보기
[cocos2d-x] 몬스터에 숨쉬는 효과 주기 게임 화면을 구성할 때, 몇몇 오브젝트들은 가만히 세워놓기에는 너무 심심합니다. 그래서 IDLE 상태에서의 애니메이션을 넣는 방법을 주로 사용하는데, 이는 스프라이트 애니메이션을 이용한 방법이 가장 일반적이지만, 당연히 제작 코스트가 올라가게 되고, 저같이 리소스를 대부분 줏어다 프로토타이핑 하는 입장에서는 불가능한 부분이 많습니다...아래에서는 단일 이미지를 이용해 오브젝트의 IDLE 상태를 조금은 심심하지 않게 만드는 법에 대해서 알아봅니다. 아래 예제 코드의 파라미터들을 적당히 조절하여야지, 그림에 맞는 최상의 효과를 볼 수 있습니다. Skew 이용하기SKEW를 이용하면 로테이션으로는 할 수 없는 특이한 효과들을 줄 수 있습니다. 예를들어 아래의 코드에서는 X에 SKEW를 적용하여 몬스터의 머리 부.. 더보기
[cocos2d-x] 통통 튀는 햅틱 효과 주기 액션을 몇가지 섞어서, 사용자가 오브젝트를 터치했을 때 반응을 주는 반응 이펙트를 만들어 낼 수 있다. // ------- 통통 튀는 효과 ------ runAction( EaseElasticOut::create( Sequence::create( ScaleTo::create(0.4, 1.22), ScaleTo::create(0.2, 1.00), nullptr))); // ------ 오버레이 효과 ------ auto overlay = Sprite::createWithSpriteFrameName(SPRITE_PATH); // 밝게 빛나는 효과를 주기 위해 블렌딩을 설정한다. BlendFunc add; add.dst = GL_ONE; add.src = GL_SRC_ALPHA; overlay->setBlen.. 더보기
[cocos2d-x] setAliasTexParameters setAntiAliasTexParameters- GL_TEXTURE_MIN_FILTER = GL_LINEAR - GL_TEXTURE_MAG_FILTER = GL_LINEAR * 늘리고자 하는 텍스쳐가 사진일때 setAliasTexParameters - GL_TEXTURE_MIN_FILTER = GL_NEAREST - GL_TEXTURE_MAG_FILTER = GL_NEAREST * 늘리고자 하는 텍스쳐가 도트일때 더보기