html52017. 2. 23. 12:13
var game = cc.Layer.extend({
  init:function () {
    this._super();

    backgroundLayer =  cc.LayerColor.create(new cc.Color(40,40,40,255), 320, 480);

    var target = cc.Sprite.create("resources/doge.png"); /*child to clip*/
    var mask = cc.Sprite.create("resources/doge-mask.png"); /*mask*/

    var maskedFill = new cc.ClippingNode(mask);
    maskedFill.setAlphaThreshold(0.9);
    maskedFill.addChild(target);
    maskedFill.setPosition(144, 224);

    backgroundLayer.addChild(maskedFill,0);
    this.addChild(backgroundLayer);

  }
});


Posted by 차돌이라네
html52016. 12. 5. 14:35

#canvas 안에서 스크롤이 가능하게 하는 옵션



var renderer = PIXI.autoDetectRenderer(720, 300,{backgroundColor : 0xFFFFFF});//캔버스


renderer.plugins.interaction.autoPreventDefault = false;  <= 스크롤 가능하게 하는 옵션


Posted by 차돌이라네
html52016. 7. 27. 13:06

# html5 로 앱을 만들기 위해 jsb방식으로 할 경우 XMLHttpRequest 로 xml 파일 로드가 안되는 경우가 발생한다.


#웹에서 실행하면 잘 되는데.....


#그래서, 다른 방법 모색


1. xml 파일을 jsb 파일로 변경


2. var str = jsb.fileUtils.getStringFromFile("src/data/stage/stage_" + this.stageNum + ".json");

  var temp = JSON.parse(str);


Posted by 차돌이라네
html52015. 10. 20. 18:02

*cocos2d-js 로 앱 개발시 디바이스의 언어 값을 가져오기


        if (cc.sys.isMobile)

        {

            var language = cc.sys.language;

        }

        else

        {

            var language = window.navigator.userLanguage || window.navigator.language;

        }

Posted by 차돌이라네
html52015. 10. 20. 18:02

*안드로이드 App 개발시 cc.LabelTTF 의 폰트 적용 방법

-네이티브 앱일 경우와 html5 웹으로 보여 질때를 구분 하여, 앱일 경우에는 폰트의 이름과 확장자까지 기입을

해 준다.


if (cc.sys.isNative)

{

    this.quiz_txt = cc.LabelTTF.create("게임 시작", "res/fonts/HYBDAM.ttf", 40, cc.size(320, 110), cc.TEXT_ALIGNMENT_CENTER, cc.VERTICAL_TEXT_ALIGNMENT_CENTER);

} else {

    this.quiz_txt = cc.LabelTTF.create("게임 시작", "HYBDAM", 40, cc.size(320, 110), cc.TEXT_ALIGNMENT_CENTER, cc.VERTICAL_TEXT_ALIGNMENT_CENTER);

}

this.quiz_txt.setColor(cc.color(255,255,255));

this.quiz_txt.enableStroke(cc.color(0,110,208), 4);

this.quiz_txt.x = 500;

this.quiz_txt.y = 300;

this.addChild(this.quiz_txt);

Posted by 차돌이라네
html52015. 8. 26. 16:18

#안드로이드 개발자 에서 apk 등록시 크게 아래와 같은 2가지 에러가 뜨는 경우


0. http://developer.android.com/tools/publishing/app-signing.html#releasemode 사이트의  Signing Your App Manually(수동으로 인증) 방법을 사용하였다.

(1) 설치 되어 있어야 하는 프로그램(머.. 안드로이드 개발자라면 이미 다 설치 되어 있을 것이다. 설치 및 환경변수 등록은 여러 곳에 있으니 참조)

 - JAVA SDK

  - android SDK

1. debug 관련 메시지 : 키인증을 해야 한다는 것

(1) 첫번째 할 것: 키를 만든다.

keytool -genkey -v -keystore PATH/TO/YOUR_RELEASE_KEY.keystore -alias YOUR_ALIAS_NAME -keyalg RSA -keysize 2048 -validity 10000


PATH/TO/YOUR_RELEASE_KEY : 생성할키의 저장 패스와 파일명

YOUR_ALIAS_NAME 별명은 응용 프로그램을 서명 할 때이 키 스토어를 참조하기 위해 나중에 사용하는 이름

(2) 두번째 할 것 : apk 에 인증 키를 등록(?) 한다.

jarsigner -verbose -keystore PATH/TO/YOUR_RELEASE_KEY.keystore -storepass YOUR_STORE_PASS -keypass YOUR_KEY_PASS PATH/TO/YOUR_UNSIGNED_PROJECT.apk YOUR_ALIAS_NAME


2. zip-unalign 관련 메시지 : 정렬하라나?

(1)  첫번째 방법

zipalign -v 4 PATH/TO/YOUR_SIGNED_PROJECT.apk PATH/TO/YOUR_SIGNED_AND_ALIGNED_PROJECT.apk


PATH/TO/YOUR_SIGNED_PROJECT : 1-(1) 에서 생성한키의 저장 패스와 파일명

PATH/TO/YOUR_SIGNED_AND_ALIGNED_PROJECT : align 할 apk 의 파일명 


(2) 두번쨰 방법

위의 (1) 번 방법으로 하려니 zipalign 이 실행할 수 없는 명령어로 나오때는,  android-sdk 폴더의 build-tools\23.0.0\ 폴더안에 있으니 디렉토리를 찾아 가서 (1)번을 실행 해 본다.

잘 안될 경우 http://forum.xda-developers.com/android/general/tool-apktools-windows-gui-decompile-t3097613 의 프로그램을 다운 받으면 zipalign.exe 파일이 나옵니다. 그파일을 apk 와 같은 폴더에 넣고, 콘솔창의 디렉토리도 동일한 곳으로 이동을 하여 (1) 번을 실행 해 보면 되더군요. 

아니면, 위의 다운 받은 프로그램 APKTools.exe 을 실행하면 창이 뜨면서 zipalign 메뉴를 선택 후 apk 를 끌어 놓으면 바로 되니 이 방법도 편하긴 할 듯 합니다. APKTools 툴이 여러 기능이 있는 거 같긴 한데 그건 머.... 나중에.. .



Posted by 차돌이라네
html52014. 2. 19. 13:12

 

# 애니메이션 스프라이트를 MenuItemSprite 에 적용 하여 버튼을 만들자

1.  우선 애니메이션 스프라이트인 StartButtonSprite 파일을 만든다. 꼭, ctor 함수 부분에 이미지 한장 짜리 스프라이트를

배치 한 후 애니메이션을 실행 해야 한다.

var StartButtonSprite = cc.Sprite.extend
({
    ctor:function()
    {
        this._super();
        cc.associateWithNative(this, cc.Sprite);

        //만들어 놓은 StartButtonBasic 스프라이트
        var pFrame = cc.SpriteFrameCache.getInstance().getSpriteFrame("StartButtonBasic");
        this.initWithSpriteFrame(pFrame);
        this.play();
        return true;
},

    play:function()
    {      

       //만들어 놓은 StartButtonBasic 스프라이트
        var animation = cc.AnimationCache.getInstance().getAnimation("StartButton");
        var animate = cc.Animate.create(animation);
        this.runAction(cc.RepeatForever.create(animate));
    }

});

 

2. MenuItemSprite 만들기

        var startBtnImg = new StartButtonSprite();
        var menuItem = cc.MenuItemSprite.create(startBtnImg, null, this.goGame, this);
        this.startBtn = cc.Menu.create(menuItem);
        this.startBtn.setPosition(cc.p(GD.WW*0.5, 50));
        this.addChild(this.startBtn);

 

 

 

 

Posted by 차돌이라네