В настоящее время у меня есть 20 целей, и все они имеют разные URL-адреса. Следуя образцу, все они должны быть объявлены один за другим, например:
// Create overlay for page one
var imgOne = new AR.ImageResource("assets/imageOne.png");
var overlayOne = new AR.ImageDrawable(imgOne, 1, {
offsetX: -0.15,
offsetY: 0
});
var pageOne = new AR.Trackable2DObject(this.tracker, "pageOne", {
drawables: {
cam: overlayOne
}
});
и снова мы заявляем
// Create overlay for page two
var imgTwo = new AR.ImageResource("assets/imageTwo.png");
var overlayTwo = new AR.ImageDrawable(imgTwo, 0.5, {
offsetX: 0.12,
offsetY: -0.01
});
var pageTwo = new AR.Trackable2DObject(this.tracker, "pageTwo", {
drawables: {
cam: overlayTwo
}
});
Вместо этого я хочу поместить их в цикл. Я нашел другую тему с похожей проблемой, и решение:
loop(condition){
new AR.Trackable2DObject(this.tracker, "targetName", {
drawables: {
cam: new AR.ImageDrawable(new AR.ImageResource("assets/targetImage.png"), 1, {
offsetX: -0.15,
offsetY: 0
})
}
});
}
But my overlay is html with URL, so when i tried
for(i=0;i<targetList.length;i++){
new AR.Trackable2DObject(this.tracker, targetList[i], {
drawables: {
cam: [clickMeOverlay, sparkles,
new AR.HtmlDrawable({
uri: htmlAssetFolder+targetList[i]+".html"
}, 1, {
offsetX: 1,
offsetY: 0,
horizontalAnchor: AR.CONST.HORIZONTAL_ANCHOR.RIGHT,
verticalAnchor: AR.CONST.VERTICAL_ANCHOR.TOP,
clickThroughEnabled: true,
onClick: function() {
document.location = "architectsdk://"+targetList[i];
return true;
}
})
]
}
});
все цели в списке могут быть распознаны с правильным наложением. но когда я нажимаю на наложение, все они ведут к одному и тому же URL-адресу, который является последним элементом в списке. Я пытался в течение нескольких часов T^T за вашу любезную помощь, пожалуйста. огромное спасибо!!!!