본문 바로가기

GameProgramming

피격 파편 효과 주기 파편 튀는 효과를 만들 때 파편이 카메라쪽으로 튀게 해야지 훨씬 그럴듯해 보인다. 랜덤으로 튀거나, 뒤로 튀면 어차피 잘 보이지도 않음. 더보기
메세지 기반 프로그래밍 - 3 메세지 기반 프로그래밍은, 기존에 ~~Manager 등으로 강하게 커플링된 오브젝트간의 연결을 해소한다는데에 목적을 두고 있지만, 너무 메세지에 몰빵해버리면 오히려 불편한점도 생기기 마련이다. 예를들어 현재 플레이어의 체력같은 경우에는 여러가지 오브젝트들이 공유할 수 있다.( 상태창 UI, 적군 인공지능, 펫 등...) 플레이어 오브젝트가 체력이 변할때마다 Change 메세지를 매번 발송해서 처리할 수도 있겠지만,, 받는쪽에서도 번거롭게 수신자를 만들어야하고, 플레이어쪽에서도 변하는 모든 부분에서 발송 코드를 작성해야 한다. 분명 이러한 구조는 이전의 GameManager.playerHp 에 접근하는것보다 몇배는 더 불편하다. 이러한 구조적 불편함을 해소하기 위해서 Rinity (https://githu.. 더보기
메세지 기반 프로그래밍 2 싱글 게임의 경우플레이어가 움직였을 경우, 그에 반응해야 하는 모든 컴포넌트들이 이벤트를 구독 싱글 게임에 단순히 Subscribe 노드 하나를 추가해서 멀티로 변경할 수 잇다.Network는 다른 모든 컴포넌트들과 완전히 동등한 레벨에서 이벤트를 구독받는다. 서버에서 패킷이 오는 경우에는 Network 노드가 Publisher 역할을 한다.매번 하는 말이지만, AI, Map등의 컴포넌트들은 네트워크에서 패킷을 받은게 아니라 그냥 평범하게 이벤트를 받아서 처리하는 입장이다. 더보기
카드게임 ㅇㄴ 더보기
클릭 시 물결 효과 주기 // 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 더보기
0~3 로 4방향 만들기 #include int main(){ for(int i=0;i 더보기
[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); 구해진 외곽선을 사용한 예제, 마우스 커서가 올라오면 밝아진다. 만약 외곽선으로 스프라이트 뒤에 글로우 효과 등을 주고 싶다면 다른 방법을 사용하는것이 편리합니다. 해당 방법은 후에 다시 작성하도록 하겠습니다. 응용 .. 더보기