Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: krpano.com Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Mittwoch, 21. Juni 2017, 20:05

Tired with spheretoscreen. Need help!

Hi! Urgently pls!

look at this:

Quellcode

1
2
3
4
5
6
7
8
9
<action name="qqq">
addhotspot(tempspot);
set(hotspot[tempspot].ath, view.hlookat);
set(hotspot[tempspot].atv, view.vlookat);
showlog();
spheretoscreen(view.hlookat, view.vlookat, x, y);
trace(x);
spheretoscreen(hotspot[tempspot].ath, hotspot[tempspot].atv, x, y);
trace(x);</action>



return after call:

Quellcode

1
2
INFO: 640.0000098550727
INFO: NaN



WHY???????? *cursing*

2

Mittwoch, 21. Juni 2017, 20:11

krpano 1.19-pr6

Beiträge: 799

Wohnort: Poland, Europe

Beruf: krpano developer : virtual tours

  • Nachricht senden

3

Mittwoch, 21. Juni 2017, 21:07

First, use the correct syntax.

not

set(hotspot[tempspot].ath, view.hlookat);
set(hotspot[tempspot].atv, view.vlookat);


but

copy(hotspot[tempspot].ath, view.hlookat);
copy(hotspot[tempspot].atv, view.vlookat);



Quellcode

1
2
3
4
5
6
7
8
9
<action name="qqq">
addhotspot(tempspot);
copy(hotspot[tempspot].ath, view.hlookat);
copy(hotspot[tempspot].atv, view.vlookat);
showlog();
spheretoscreen(view.hlookat, view.vlookat, x, y);
trace('x: ',get(x));
spheretoscreen(hotspot[tempspot].ath, hotspot[tempspot].atv, x, y);
trace('x: ',get(x));</action>




Piotr
You own online, cloud tool for creating virtual tours - www.cms4vr.com

facebook page :: facebook group :: youtube

cms4vr team *thumbsup*

4

Mittwoch, 21. Juni 2017, 22:35

Thanks! You are right

Can you please help me with something like this:

Quellcode

1
2
3
4
5
6
7
8
9
<action name="qqq">
addhotspot(tempspot);
set(hotspot[tempspot].ath, %1);
set(hotspot[tempspot].atv, %2);
showlog();
spheretoscreen(hotspot[tempspot].ath, hotspot[tempspot].atv, x, y);
trace('x: ',get(x));

</action>


passing arguments are numbers.

jordi

Fortgeschrittener

Beiträge: 420

Wohnort: Barcelona

Beruf: creating ideas & coding them

  • Nachricht senden

5

Donnerstag, 22. Juni 2017, 08:26

You just need to call the action like this

Quellcode

1
qqq(10, 20); 


then this 10 and 20 will be the %1 and %2 in your action

you don't need to make

Quellcode

1
trace('x: ',get(x));

just

Quellcode

1
trace('x: ',x);
everpano.com smart virtual tours

6

Donnerstag, 22. Juni 2017, 08:49

trace() here is just for debugging
looks like spheretoscreen(h,v,x,y) return correct values ONLY when h and v are undocumented 'coordinates' type variables
if they are 'Number' type then x and y is NaN





Beiträge: 729

Wohnort: Sevastopol, Crimea, Russian Federation

Beruf: Interpreting, Building virtual tours

  • Nachricht senden

7

Donnerstag, 22. Juni 2017, 09:38

hi)

Documentation says:

Notes:
  • The x,y,h,v parameters must be variable names, using values is not possible!


Read here: https://krpano.com/docu/actions/#screentosphere
Regards,

Alexey

Beiträge: 799

Wohnort: Poland, Europe

Beruf: krpano developer : virtual tours

  • Nachricht senden

8

Donnerstag, 22. Juni 2017, 11:25

you don't need to make


Source code
1
trace('x: ',get(x));

just

Source code
1
trace('x: ',x);
Sometimes yes and sometimes not... With GET is safety.

Best regards
Piotr
You own online, cloud tool for creating virtual tours - www.cms4vr.com

facebook page :: facebook group :: youtube

cms4vr team *thumbsup*

9

Donnerstag, 22. Juni 2017, 11:39

Alexey Tkachenko, I read it and know it!

please answer me what is wrong with example in the my post at Yesterday, 10:35pm

I have list of coordinates wich I created manually and they can not be copied from somewhere else

Beiträge: 729

Wohnort: Sevastopol, Crimea, Russian Federation

Beruf: Interpreting, Building virtual tours

  • Nachricht senden

10

Donnerstag, 22. Juni 2017, 11:52

This code works fine for me:

Quellcode

1
addhotspot(tempspot);		set(hotspot[tempspot].url, 'skin/vtourskin_hotspot.png');		copy(hotspot[tempspot].ath, view.hlookat);		copy(hotspot[tempspot].atv, view.vlookat);		showlog();		spheretoscreen(view.hlookat, view.vlookat, x, y);		trace(x);		spheretoscreen(hotspot[tempspot].ath, hotspot[tempspot].atv, x, y);		trace(x);



Both traces return 640.

seems that the hotspot needs some url to be defined.

EDIT: this code works also:

Quellcode

1
addhotspot(tempspot);				copy(hotspot[tempspot].ath, view.hlookat);		copy(hotspot[tempspot].atv, view.vlookat);		showlog();		spheretoscreen(view.hlookat, view.vlookat, x, y);		trace(x);		spheretoscreen(hotspot[tempspot].ath, hotspot[tempspot].atv, x, y);		trace(x);



So url doesn't matter here...
Regards,

Alexey

Beiträge: 729

Wohnort: Sevastopol, Crimea, Russian Federation

Beruf: Interpreting, Building virtual tours

  • Nachricht senden

11

Donnerstag, 22. Juni 2017, 11:59

okay, now it's clear: if the hotspot is out of view, then spheretoscreen will return Nan:

In this case I got Nan (view.hlookat was 0 at tour startup):

Quellcode

1
addhotspot(tempspot);	set(hotspot[tempspot].ath, -90);	copy(hotspot[tempspot].atv, view.vlookat);	showlog();	spheretoscreen(view.hlookat, view.vlookat, x, y);	trace(x);	spheretoscreen(hotspot[tempspot].ath, hotspot[tempspot].atv, x, y);	trace(x);
Regards,

Alexey

Beiträge: 729

Wohnort: Sevastopol, Crimea, Russian Federation

Beruf: Interpreting, Building virtual tours

  • Nachricht senden

12

Donnerstag, 22. Juni 2017, 12:02

I also remember this thread: https://krpano.com/forum/wbb/index.php?p…53966#post53966

Maybe it will help somehow or make things clear with spheretoscreen.
Regards,

Alexey

13

Donnerstag, 22. Juni 2017, 17:22

to be sure that coordinates are not out of view


Quellcode

1
2
3
4
5
6
7
8
9
10
<events onclick="qqq();" />
<action name="qqq">
showlog();
set(hhh, view.hlookat);
set(vvv, view.vlookat);
spheretoscreen(view.hlookat, view.vlookat, x, y);
trace(x);
spheretoscreen(hhh, vvv, x, y);
trace(x);
</action>



return

Quellcode

1
2
INFO: 640.0000006207051
INFO: NaN

Beiträge: 729

Wohnort: Sevastopol, Crimea, Russian Federation

Beruf: Interpreting, Building virtual tours

  • Nachricht senden

14

Freitag, 23. Juni 2017, 08:43

Your code is wrong.

You may eiher use

Quellcode

1
copy(hhh, view.hlookat);		copy(vvv, view.vlookat);



or

Quellcode

1
set(hhh, get(view.hlookat));



In this case your code works , I've just tested.
Regards,

Alexey

15

Freitag, 23. Juni 2017, 12:07

Алексей, спасибо огромное, попробовал! да, такие примеры работают. тут сказывается недостаток моей квалификации в krpano ((

Но моя проблем в том, что я не могу взять (get) или скопировать (copy) значение переменной типа хотспотовских atv, ath или view.hlookat и view.vlookat

Попробую объяснить подробнее

У панорамы есть активные зоны. Каждая такая зона представлена парой
значений, описывающих сферические координаты ее центра (hhh и vvv). При вращении панорамы используем getlooktodistance чтобы вычислить расстояния от направления просмотра панорамы до активных зон (используем для определения hhh, vvv, view.hlookat и
view.vlookat). Поворачиваемся в сторону активной зоны, определяем, что она находится в допустимом
радиусе (направление просмотра панорамы
находится в пределах допустимого радиуса вокруг центра зоны), а вот в этом месте как раз необходимо при помощи spheretoscreen по значениям hhh и vvv определить координаты центра активной зоны на экране!!! А оно не работает ни с spheretoscreen(hhh,vvv,xxx,yyy) ни с spheretoscreen(get(hhh),get(vvv),xxx,yyy)!

единственное что пришло на ум - это использовать "заплатку" в виде создания хотспота, но тут уже смотрите начало моего поста))) сейчас попробую этот вариант и отпишусь дополнительно. Но как бы было хорошо не использовать такие заплатки

тяжко изъясняться на ломанном английском )

Beiträge: 729

Wohnort: Sevastopol, Crimea, Russian Federation

Beruf: Interpreting, Building virtual tours

  • Nachricht senden

16

Freitag, 23. Juni 2017, 13:23

примерно понятна суть, но удобнее разбираться на конкретном примере. Если что, можно в ЛС писать.
Regards,

Alexey

17

Freitag, 23. Juni 2017, 14:00

все! сделал! спасибо!!!!

мне потребовалось выводить HTML блок средствами jquery поверх панорамы.
конкретно в JS работает такая конструкция

Quellcode

1
2
3
krpano.set("hhh", $(this).attr('hlookat'));
krpano.set("vvv", $(this).attr('vlookat'));
krpano.call("spheretoscreen(hhh, vvv, xxx, yyy);");


ну и далее krpano.get("yyy") и krpano.get("xxx") возвращают правильные значения!

внутри action работает следующее

Quellcode

1
2
3
4
5
6
7
<action name="qqq3">
showlog();
set(hhh, 50);
set(vvv, 50);
lookat(get(hhh), get(vvv));
delayedcall(1, spheretoscreen(hhh, vvv, x, y); trace('x: ', x););
</action>


задержка здесь для того чтобы lookat успел устаканиться

спасибо за то что еще раз напомнили про copy и get :)

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »sblack« (23. Juni 2017, 14:31)