Skip to main content
16-Pearl
April 6, 2018
Solved

Rotazione etichetta con pulsante richiamando funzioni javascript

  • April 6, 2018
  • 2 replies
  • 8553 views

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

Best answer by Giuseppe_Fiore

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

2 replies

21-Topaz I
April 6, 2018

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. 

16-Pearl
April 9, 2018

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 ....

15-Moonstone
April 9, 2018

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 

 

 

16-Pearl
April 9, 2018

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

15-Moonstone
April 9, 2018

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