溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cocos2d-html5中如何為sprite添加觸摸事件

發(fā)布時間:2021-10-15 17:35:13 來源:億速云 閱讀:134 作者:柒染 欄目:開發(fā)技術

這期內容當中小編將會給大家?guī)碛嘘Pcocos2d-html5中如何為sprite添加觸摸事件,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

cocos2d-html5學習之三-為sprite添加觸摸事件

在斗地主中,使用了cc.Sprite來實現(xiàn)撲克,但是cc.Sprite默認并不能接收觸摸事件,需要手動將它注冊到事件分配器中。

1. 在onEnter中注冊為代理,由于撲克牌會產生重疊,在選擇的時候不能讓觸摸事件傳遞到被覆蓋的牌上,因此不能使用standardTargetedDelegate。

onEnter:function(){
        cc.registerTargetedDelegate(0, true, this);
        this._touchEnabled=true;
        this._super();
    }

2. 實現(xiàn)其它幾個觸摸事件,其中onTouchBegan中需要返回true,否則不會調用后面的onTouchEnded方法。

onTouchBegan:function(touches,event){
    	var rect = this.touchRect();
    	var point = touches.getLocation();
        if(cc.rectContainsPoint(this.touchRect(),touches.getLocation())){
            this._touchBegan=true;
            return true;
        }

        return false;
    }
    onTouchEnded:function(touches,event){
        if(this._touchBegan){
            this._touchBegan=false;

            if(this.active) {
        		this.active = false;

        		this.setPositionY(this.getPositionY() - 30);
        	}
        	else {
        		this.active = true;

        		this.setPositionY(this.getPositionY() + 30);
	        }
        }
    }

上述就是小編為大家分享的cocos2d-html5中如何為sprite添加觸摸事件了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI