You are not logged in.

mstoss

Intermediate

  • "mstoss" started this thread

Posts: 285

Location: Berlin

  • Send private message

1

Saturday, January 27th 2018, 3:32pm

Simple If-Abfrage: Wald-Bäume-Problem?

Hallo Leute,

wo ist das Komma zuviel? - oder was mache ich falsch?

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
	<action name="a_scale">
			trace(v_spot);
			if(
					v_spot == 1, 
					trace('test is 1');
					set(hotspot[spot-1].scale,2);
			,
					v_spot == 2, 
					trace('test is 2');
					set(hotspot[spot-2].scale,2)
			,
					v_spot == 3, 
					trace('test is 3');
					set(hotspot[spot-3].scale,2)
			);
	</action>


Ich übergebe die Werte für v_spot an die Aktion und erhalte per trace die Werte für v_spot 1, 2, 3 wie erwartet, aber die Bedingungen scheinen trotzdem nur für 1 erfüllt. Nur dafür bekomme ich ein trace: "test is 1" und die Aktion wird entsprechend ausgeführt. Dabei ist das eine Abwanddlung des KRPano-Code-Beispiels zur If Abfrage:

Source code

1
2
3
4
5
6
if(
    test == 1, trace('test is 1'),
    test == 2, trace('test is 2'),
    test == 3, trace('test is 3'),
    trace('test is someting else')
);


(funktioniert übirgens auch nicht)

Stehe gerade auf dem Schlauch...

Vielen Dank für eure Hilfe,

Michael

toosten

Intermediate

Posts: 462

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

2

Saturday, January 27th 2018, 5:12pm

Source code

1
if( test ,  dann, sonst );


Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<action name="a_scale">
	trace(v_spot);
	if(
		v_spot == 1, 
		trace('test is 1');
		set(hotspot[spot-1].scale,2);
	,
		if(	
			v_spot == 2, 
			trace('test is 2');
			set(hotspot[spot-2].scale,2)
		,
			if(					
				v_spot == 3, 
				trace('test is 3');
				set(hotspot[spot-3].scale,2)
			);
		);
	);
	</action>


P.S. auch falsch

Source code

1
		set(hotspot[spot-1].scale,2);

Source code

1
2
	sub( s, get(spot), 1);
	set( hotspot[get(s)].scale,2);

3

Saturday, January 27th 2018, 5:39pm

Hi,

wird eventuell eine zu alte krpano Version verwendet?

Das if mit den mehreren else-if Zweigen gibt es erst ab Version 1.19-pr14 - siehe:
krpano 1.19-pr14

Schöne Grüße,
Klaus

mstoss

Intermediate

  • "mstoss" started this thread

Posts: 285

Location: Berlin

  • Send private message

4

Saturday, January 27th 2018, 9:36pm

Vielen Dank, das haut hin! Obwohl ich das Beispiel in der Dokumentation dann verwirrend finde.

Hast mir sehr geholfen :-)

Michael