一、给图层添加背景
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);
}
}