cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can subscribe to a forum, label or individual post and receive email notifications when someone posts a new topic or reply. Learn more! X

Rotazione etichetta con pulsante richiamando funzioni javascript

Matteo_1987
16-Pearl

Rotazione etichetta con pulsante richiamando funzioni javascript

Ciao a tutti

sto eseguendo l'esercitazione per ruotare un ettichetta con un bottone associandogli la funzione rotazione tramite javascript

ho seguito la guida passo passo ma l'etichetta non ruota

qualcono sa dirmi il linguaggio corretto da scrivere su home.js e nell'evento js da associare all'etichetta?

grazie

Matteo

ACCEPTED SOLUTION

Accepted Solutions

l'ho ricreata come dice l'esempio e lo script non mi produce errori , visto che la preview funziona.

 

Un errore c'e' nell'esempio ed e' quello di impostare 0 sul application  parameter , ogni volta che premo il tasto lui aggiunge il valore nello script all'application parameter , ma lo fa com un add di testo , quindi da valori errati.

per risolverlo basta inizializzare il valore da JS.

 

$scope.app.params.rotationParameter =0;

$scope.rotateLabel = function() {
$scope.app.params.rotationParameter += 5;
};

 

ma questo e' un altro problema.

 

Ritornando al tuo di problema, non riesco a capirlo , se vuoi mandami il progetto cosi' come ti da l'errore  gli do un occhiata , a volte anche una virgola puo' causare problemi.

 

 

saluti

Giuseppe

View solution in original post

9 REPLIES 9

Hi Matteo,

I am able to get this to work using the following code in home.js: 

 

$scope.rotateLabel = function() {
		$scope.app.params.rotationParameter += 5 % 360;
	};

and calling rotateLabel(); on the button Click event. 

 

Let me know if you are still running into issues. 

Grazie per l'aiuto pero 'non riesco ancora a ruotarla.

vedi tutti i passaggi ma come vedi dall'immagine in allegato una volta scritta la funzione in home js non mi fa piu 'vedere nulla nell'anteprima.

Può essere qualche cosa di crhome?

oppure non così altre impostazioni che non conosco ....

ciao matteo, 

Il comando che usi nel javascript serve per cambiare il valore all' application parameter, dopodiche' devi fare un bind del parametro all'etichetta sul canvas , specificando su quale asse deve essere ruotata.

altrimenti lui cambia si il paramtero ma poi non lo usa nel runtime.

 

spero sia stato chiaro nella spiegazione. buona giornata

 

 

 

Giuseppe 

 

 

ciao giuseppe,

si avevo già fatto cosi e ho impostato la rotazione sull'asse z

quello che sto dicendo è che c'è qualche errore nella scrittura dello javascript che inserisco in Home js perchè non mi fa visualizzare l'anteprima( se tolgo il testo in home js l'anteprima si vede ma chiaramente non ruota)

ok, allora prova questo , e' collegato a una label 3D  e non usa gli application parameter , io cerco sempre di evitarli , preferisco usare le proprieta' degli oggetti direttamente.

 

$scope.ruotalabel = function() {

    $scope.view.wdg['3DLabel-2']['ry'] += 5;
};

 

al posto di ry puoi usare uno dei tre assi 

ry      asse y

rx      asse x

rz      asse z

 

 

Ciao e buona giornata

Giuseppe

 

 

 

 

l'ho ricreata come dice l'esempio e lo script non mi produce errori , visto che la preview funziona.

 

Un errore c'e' nell'esempio ed e' quello di impostare 0 sul application  parameter , ogni volta che premo il tasto lui aggiunge il valore nello script all'application parameter , ma lo fa com un add di testo , quindi da valori errati.

per risolverlo basta inizializzare il valore da JS.

 

$scope.app.params.rotationParameter =0;

$scope.rotateLabel = function() {
$scope.app.params.rotationParameter += 5;
};

 

ma questo e' un altro problema.

 

Ritornando al tuo di problema, non riesco a capirlo , se vuoi mandami il progetto cosi' come ti da l'errore  gli do un occhiata , a volte anche una virgola puo' causare problemi.

 

 

saluti

Giuseppe

Ciao Giseppe,

ora funziona 

aggiungendo 

$scope.app.params.rotationParameter =0;

l'etichetta ruota

(Bisognerebbe avvisare e aggiornare la guida)

l'etichetta ruota

AVREI un ultima domanda: ho provato  a fare un altra esercitazione ovvero quella di associare un immagine a un pulsante . Per ridurre  e centrare l'immagine nel pulsante come devo fare? (vedi immagine allegata)

https://support.ptc.com/help/thingworx_hc/thingworx_studio/en/#page/ThingWorx_Studio_Help_Center%2FIntermediateCSSImageButton.html%23

Grazie mille

sono contento che funzioni.

 

Per quanto riguarda la riduzione dell'immagine e del suo posizionamento.

devi cambiare il CSS usando i comandi 

 

background-size: 30px 30px;
background-repeat: no-repeat;
background-position:center;

 

nella sezione .image

 

sotto ti allego un esempio  : 

 

.image, .image.activated {
background-image: url(../app/resources/Uploaded/play.png);
background-size: 30px 30px;
background-repeat: no-repeat;
background-position:center;
}

 

Se e' quello di cui avevi bisogno segna risposta corretta 🙂 

 

CIAO

E Buona giornata

 

Giuseppe

 

 

Announcements

Top Tags