Cocos2D 初步了解二:图层与精灵

来源:互联网 发布:js 鼠标移动事件 编辑:程序博客网 时间:2024/06/01 09:54

一、给图层添加背景

CCSprite mBGSprite = CCSprite.sprite("bbg_arena.jpg");mBGSprite.setAnchorPoint(0,0);this.addChild(mBGSprite);

二、给图层CCLayer添加事件
1)打开触摸事件的开关
setIsTouchEnabled(true);

2)首先得把Android事件里的坐标转换为Cocos2D的坐标
CGPoint point = this.convertPrevTouchToNodeSpace(event);

三、代码实现

public class FirstLayer extends CCLayer {    //人精灵    private CCSprite mSprite;    public FirstLayer() {        //打开触摸事件的开关        setIsTouchEnabled(true);        //初始化        init();    }    private void init() {        //第三步:创建背景精灵        CCSprite mBGSprite = CCSprite.sprite("bbg_arena.jpg");        mBGSprite.setAnchorPoint(0,0);        this.addChild(mBGSprite);        mSprite = CCSprite.sprite("z_1_attack_01.png");        //设置图片锚点坐标        mSprite.setAnchorPoint(0,0);        mSprite.setPosition(100,100);        mSprite.setScale(1);        mSprite.setOpacity(150);        //第二步:把精灵添加到图层上        this.addChild(mSprite);    }    @Override    public boolean ccTouchesBegan(MotionEvent event) {        //Toast.makeText(Util.getContext(), "我被点击了", 1).show();        //得到触摸时的点        CGPoint point = this.convertTouchToNodeSpace(event);        //得到精灵的矩阵        CGRect box = mSprite.getBoundingBox();        //如果点在矩阵里,就说名点击了        if (CGRect.containsPoint(box, point)) {            //精灵放大            mSprite.setScale(mSprite.getScale() + 0.2);        }else {            //变小            mSprite.setScale(mSprite.getScale() - 0.2);        }        return super.ccTouchesBegan(event);    }}
0 0
原创粉丝点击