Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
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
Solved! Go to Solution.
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
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
questa è l'esperienza che non riesco a fare :
Grazie,
Matteo
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)
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