Cocos2d-X----锚点

本文介绍了一个使用Cocos2d-x框架的CCSprite类,展示如何通过缩放、旋转和锚点设置来调整精灵的位置和外观。通过创建场景、初始化精灵并应用动画效果,实现精灵在屏幕上的动态变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  2、影响缩放

3、影响旋转

#include "T01LayerAnchorPoint.h"


CCScene * T01LayerAnchorPoint::scene()
{
	CCScene * scene = CCScene::create();
	T01LayerAnchorPoint * layer = T01LayerAnchorPoint::create();
	scene->addChild(layer);

	return scene;
}

bool T01LayerAnchorPoint::init()
{
	if (!CCLayer::init())
	{
		return false;
	}

	winSize = CCDirector::sharedDirector()->getWinSize();
	sprite = CCSprite::create("anchor3.png");
	//sprite->setScale(4);//放大4倍
	//sprite->setAnchorPoint(ccp(0.8,0.2));//设置锚点位置
	sprite->ignoreAnchorPointForPosition(true);//设置位置忽略锚点
	sprite->setPosition(ccp(winSize.width / 2, winSize.height / 2));
	this->addChild(sprite);

	//定时器
	schedule(schedule_selector(T01LayerAnchorPoint::rotationBy2s), 0.3);

	return true;
}

void T01LayerAnchorPoint::draw()//绘制
{
	ccDrawColor4B(255, 0, 0, 255);
	ccDrawLine(ccp(0, winSize.height / 2),ccp(winSize.width,winSize.height / 2, 0));
	ccDrawLine(ccp(winSize.width / 2, 0), ccp(winSize.width / 2, winSize.height));
}
void T01LayerAnchorPoint::rotationBy2s(float dt)
{
	static float num = 0;
	num += 30;
	
	sprite->setRotation(num);//旋转
}
#ifndef __T01LayerAnchorPoint_H__
#define __T01LayerAnchorPoint_H__

#include "cocos2d.h"

USING_NS_CC;

class T01LayerAnchorPoint : public CCLayer
{
public:
	
	static CCScene *scene();
	CREATE_FUNC(T01LayerAnchorPoint);
	bool init();

	void draw();

	CCSize winSize;

	CCSprite * sprite;

	void rotationBy2s(float dt);
};

#endif


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值