0
点赞
收藏
分享

微信扫一扫

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


一、给图层添加背景

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 条评论