cocos2d-x按钮设置

本文介绍如何在cocos2d-x中模仿Flash游戏中的按钮按压效果,通过修改源代码实现按钮被点击后尺寸缩小的功能,无需使用额外的图片资源。

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

因为之前用过flash 写游戏,flash上会自带按钮按下后按钮图片缩小的功能。后来发现cocos2d里面是用两张一样的图采用不同大小来达到这种效果的。因为自己PS不会,也懒得弄,所以自己动手改了一下cocos里生成图片按钮的代码,达到点击按钮可以缩小按钮的效果。下面放上代码

bool MenuItemImage::initWithNormalImage(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage, const ccMenuCallback& callback)
{
    Node *normalSprite = nullptr;
    Node *selectedSprite = nullptr;
    Node *disabledSprite = nullptr;

    if (normalImage.size() >0)
    {
		normalSprite = Sprite::create(normalImage);
    }

    if (selectedImage.size() >0)
    {
        selectedSprite = Sprite::create(selectedImage);<span style="white-space:pre">					</span>
		selectedSprite->setScale(0.9f);
		selectedSprite->setPosition(normalSprite->getContentSize().width*0.05f,
			normalSprite->getContentSize().height*0.05f);
		
    }
    if(disabledImage.size() >0)
    {
        disabledSprite = Sprite::create(disabledImage);
    }
    return initWithNormalSprite(normalSprite, selectedSprite, disabledSprite, callback);
}
原来的函数我懒得去找了这是改好之后的、这里有两个主要的变量名,一个是selectedSprite这是选择后的精灵,一个是normalSprite,这是正常情况下的精灵。在这里我在create他们的时候都用的是同一张图,然后我再把selectedSprite的大小缩小到原来的0.9倍。光这样缩小还不够,还得给他设置一下位置不然他是按照锚点来缩小、点击的时候看起来就很怪。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值