cocos2d-js 按钮本点击时,按钮缩放功能

cocos2d-js 按钮本点击时,按钮缩放功能,第1张

概述今天策划在需求上说想在原本的按钮点击基础上,加上一个按钮被点击时触发按钮缩放的表现。 第一时间想到的是: var scaleSp = new cc.Sprite(res.gameLobby_startGameBtn_png);scaleSp.setScale(0.9);var startBtn = new cc.MenuItemSprite(new cc.Sprite(res.gameLob

今天策划在需求上说想在原本的按钮点击基础上,加上一个按钮被点击时触发按钮缩放的表现。

第一时间想到的是:

var scaleSp = new cc.Sprite(res.gameLobby_startGameBtn_png);scaleSp.setScale(0.9);var startBtn = new cc.MenuItemSprite(new cc.Sprite(res.gameLobby_startGameBtn_png),scaleSp,function () {   },this);
 
但直接利用上面代码后会发现,缩放后的按钮是以左下角进行缩放的,
后跟入源码后发现原来精灵被加入的时候锚点都被设置成cc.p(0,0)了
 

在网上找到了一个解决方案, 直接对ccmenuItem.Js 中的 代码进行修改。

setSelectedImage: function (selectedImage) {    if (this._selectedImage === selectedImage)        return;    if (selectedImage) {        this.addChild(selectedImage,0,cc.SELECTED_TAG);        selectedImage.anchorX = 0;        selectedImage.anchorY = 0;        var point = selectedImage.getposition();        var size = selectedImage.getContentSize();        selectedImage.setposition(cc.p(point.x - (selectedImage.getScaleX() - 1)/ 2 * size.wIDth,point.y - (selectedImage.getScaleY() - 1) / 2 * size.height));    }    if (this._selectedImage) {        this.removeChild(this._selectedImage,true);    }    this._selectedImage = selectedImage;    this._updateImagesVisibility();},

这种做法如果打包app的话 貌似需要修改c++的代码,为了避免不必要的麻烦

var normalimage = startBtn.getnormalimage();normalimage.setAnchorPoint(cc.p(0.5,0.5));var selectedImage = .getSelectedImage();selectedImage.setAnchorPoint(cc.p(0.5,0.5));

我们在创建完按钮之后将图片取出重新修改锚点。

总结

以上是内存溢出为你收集整理的cocos2d-js 按钮本点击时,按钮缩放功能全部内容,希望文章能够帮你解决cocos2d-js 按钮本点击时,按钮缩放功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1082322.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存