Home Game Development How to alter the processing order Node Event System? – Cocos Creator

How to alter the processing order Node Event System? – Cocos Creator

0
How to alter the processing order Node Event System? – Cocos Creator

[ad_1]

I’ve 3 sprites, with the assistance of a script I modify the rendering order and drag the sprites one on high of the opposite in reverse order.
The sprite that was on the backside is obtained from above. But whenever you click on on this stack once more, it isn’t doable to take the highest sprite.
Please inform me how can I resolve this downside. I didn’t discover a answer on the discussion board.

import { _decorator, Component, Node, enter, Input, Event, Vec2, Label, KeyCode, EventMouse, EventGoal} from ‘cc’;
import{GameManager} from “./GameManager”;
const { ccclass, property } = _decorator;

@ccclass(‘TouchDragger’)
export class TouchDragger extends Component {

onLoad() {
  
    this.node.on(Node.EventKind.TOUCH_START, (occasion) => { 
    console.log('Touch begin');
    
    occasion.propagationStopped = true;
    
    this.node.setSiblingIndex(2);

    }, this);

    this.node.on(Node.EventKind.TOUCH_MOVE, (occasion) => { 
      
    this.node.setPosition(this.node.getPosition().x + occasion.contact.getDelta().x , this.node.getPosition().y + occasion.contact.getDelta().y, 0);
   
    }, this);

    this.node.on(Node.EventKind.TOUCH_END, (occasion) => { 
    console.log('Touch finish');

    occasion.propagationStopped = false;
    }, this);

}

It must be like a card sport the place the deck is shuffled and the topmost card could be dragged.

Which model is used? Can you present a easy demo? Every node is registered for occasions?

Version 3.6. I connect the introduced script to every of the three nodes. So far that is an experiment with three sprites. I created nodes each within the editor and denamically within the script,
however the outcome is identical – this.node.setSiblingIndex(2) modifications the rendering order, however doesn’t keep in mind the occasion processing order, and whenever you click on on the visually high sprite once more, the previous node processing order is preserved.

Nodes/sprites are brothers. Tried making them kids of the Canvas or kids of the kid node of the Canvas, the outcome is identical. In earlier variations of the engine – goal.setLocalZOrder(1) – solved the issue.

I’ll be glad about any assist!

occasion.propagationStopped = true;occasion.preventSwallow = true;
Maybe you want this

I exploit this in a script, doesn’t resolve the issue!

[ad_2]

LEAVE A REPLY

Please enter your comment!
Please enter your name here