Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当另一个对象经过该对象时,如何显示该对象_Javascript_Createjs_Tween - Fatal编程技术网

Javascript 当另一个对象经过该对象时,如何显示该对象

Javascript 当另一个对象经过该对象时,如何显示该对象,javascript,createjs,tween,Javascript,Createjs,Tween,我正在使用createjs和tween创建一个包含5个对象的动画 第一个对象是一辆水平穿过屏幕的汽车,另外4个对象是4座建筑物,我想在汽车每次经过该对象时显示一次(最初是隐藏的) 这是我将位置和alpha设置为0的代码的一部分 卡车是穿过屏幕的物体,我想一次显示一个 truck = new createjs.Shape(); truck = new createjs.Bitmap(loader.getResult("truck")); truck.x=-truck.image.width; tr

我正在使用createjs和tween创建一个包含5个对象的动画

第一个对象是一辆水平穿过屏幕的汽车,另外4个对象是4座建筑物,我想在汽车每次经过该对象时显示一次(最初是隐藏的)

这是我将位置和alpha设置为0的代码的一部分

卡车是穿过屏幕的物体,我想一次显示一个

truck = new createjs.Shape();
truck = new createjs.Bitmap(loader.getResult("truck"));
truck.x=-truck.image.width;
truck.y=0;
createjs.Tween.get(truck, { loop: true })
    .wait(250)
    .to({ x: w }, 5600, createjs.Ease.getPowInOut(0.5));
block1 = new createjs.Bitmap(loader.getResult("block3"));
block1.x=0;
block1.y=truck.image.height-block1.image.height;
block1.alpha=0.0;
createjs.Tween.get(block1, { override: true })
    .wait(250)
    .to({ alpha: 1 }, 600, createjs.Ease.getPowInOut(0.5));
block2 = new createjs.Bitmap(loader.getResult("block2"));
block2.x=0;
block2.y=truck.image.height-block2.image.height-block1.image.height;
block2.alpha=0.0;
createjs.Tween.get(block2, { override: true })
    .wait(500)
    .to({ alpha: 1 }, 1600, createjs.Ease.getPowInOut(0.5));
block3 = new createjs.Bitmap(loader.getResult("block1"));
block3.x=block1.image.width;
block3.y=truck.image.height-block3.image.height;;
block3.alpha=0.0;
block4 = new createjs.Bitmap(loader.getResult("block4"));
block4.x=block1.image.width+block3.image.width;
block4.y=truck.image.height-block4.image.height;;
block4.alpha=0.0;
block5 = new createjs.Bitmap(loader.getResult("block5"));
block5.x=block1.image.width+block3.image.width+block4.image.width;
block5.y=truck.image.height-block5.image.height;;
block5.alpha=0.0;
用这个

var index = truck.parent.getChildIndex(truck);
以获取
卡车
对象的索引。然后,需要使用以下命令设置要在上面显示的对象的索引:

block.parent.setChildIndex(block, index + 1);
或者,您可以删除对象,然后重新添加,以使其位于画布上所有其他对象的上方(最高索引):

var parent = block.parent;
parent.removeChild(block);
parent.addChild(block);

请解释你在寻求什么帮助-到目前为止,你所描述的都是你想要发生的事情,而不是失败或症状。我不知道如何实施它。目前,我只是在块上放置一个等待函数,然后出现,试图将事件与通过块坐标的卡车同步。我想知道,当另一个物体穿过它的坐标时,是否有一种简单的方法来设置一个物体的alpha,好的,就像碰撞检测一样。查看其他contextjs问题和答案,可能会有帮助: