I’ve 3 sprites, with the assistance of a script I alter 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. However whenever you click on on this stack once more, it’s not attainable to take the highest sprite.
Please inform me how can I clear up this drawback. I didn’t discover a answer on the discussion board.
import { _decorator, Part, Node, enter, Enter, Occasion, Vec2, Label, KeyCode, EventMouse, EventTarget} from ‘cc’;
import{GameManager} from “./GameManager”;
const { ccclass, property } = _decorator;
@ccclass(‘TouchDragger’)
export class TouchDragger extends Part {
onLoad() {
this.node.on(Node.EventType.TOUCH_START, (occasion) => {
console.log('Contact begin');
occasion.propagationStopped = true;
this.node.setSiblingIndex(2);
}, this);
this.node.on(Node.EventType.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.EventType.TOUCH_END, (occasion) => {
console.log('Contact finish');
occasion.propagationStopped = false;
}, this);
}
It needs to be like a card sport the place the deck is shuffled and the topmost card could be dragged.
Which model is used? Are you able to present a easy demo? Each node is registered for occasions?
Model 3.6. I connect the offered script to every of the three nodes. To date that is an experiment with three sprites. I created nodes each within the editor and denamically within the script,
however the consequence is identical – this.node.setSiblingIndex(2) modifications the rendering order, however doesn’t bear 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 consequence 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;
Perhaps you want this
I take advantage of this in a script, doesn’t clear up the issue!