Autore Topic: [AndEngine] suddivisione in "frame"  (Letto 1129 volte)

Offline alpha_php

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid A1
  • Sistema operativo:
    Windows 7
[AndEngine] suddivisione in "frame"
« il: 14 Febbraio 2012, 16:46:44 CET »
0
Salve, sto creando un app facendo utilizzo del motore di andengine, mi chiedevo se è possibile suddividere la schermata in 3 "frame". In pratica l'app è formata da pulsanti posizionati in alto, dal corpo dell'app, dove verranno disegnate linee ecc. e una status bar in basso. Nel frame centrale deve essere possibile effettuare lo zoom e lo span, mentre il frame in alto e quello in basso devono restare fissi. Per come ho realizzato l'app, effettuando lo zoom, anche i pulsanti si ingrandiscono.

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:[AndEngine] suddivisione in "frame"
« Risposta #1 il: 14 Febbraio 2012, 17:11:03 CET »
0
Usi la classe camera per lo zoom e il pan? Ti conviene usare una classe Scene che contenga i 2 "frame statici" e un'altra classe Scene che contenga il "frame" da ingrandire e muovere. Per ingrandirlo e muoverlo usi i relativi metodi della classe Scene.  ;-)

Offline alpha_php

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid A1
  • Sistema operativo:
    Windows 7
Re:[AndEngine] suddivisione in "frame"
« Risposta #2 il: 14 Febbraio 2012, 20:17:31 CET »
0
per lo zoom sto usando la classe ZoomCamera.
Ho creato una classe scene che contine due scene child, di cui una con sfondo trasparente(quella con pulsanti e status bar), in modo da mostrare cosa c'è sotto, alla scena sottostante ho applicato il Touch listener per poter effettuare lo zoom, ovviamente il problema sta proprio in questo ultimo passaggio, la scena sotto non può sentire il touch!

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:[AndEngine] suddivisione in "frame"
« Risposta #3 il: 14 Febbraio 2012, 22:38:19 CET »
0
Potresti allora creare una scena per ogni frame: invece di raggruppare pulsanti e status bar in una scena, ne crei una per ogni "frame", in modo da non avere nulla di sovrapposto al frame centrale.
L'alternativa è passare gli eventi touch ricevuti nella scena che contiene pulsanti e statusbar alla scena sottostante, ma secondo me complicherebbe inutilmente il codice, visto che sarebbe più semplice la logica delle tre scene.
Per quanto riguarda lo zoom e il pan: sei sicuro che la zoomCamera non vada ad influenzare anche i pulsanti?

Offline alpha_php

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid A1
  • Sistema operativo:
    Windows 7
Re:[AndEngine] suddivisione in "frame"
« Risposta #4 il: 16 Febbraio 2012, 09:32:24 CET »
0
Ho provato a mettere ogni elemento su ogni scena, ma non cambia nulla, io credo che le scene si estendano competamente e quindi occupano l'intera area del display, non c'è un modo per settarne la dimensione?
appunto per adesso vengono influenzati anche i pulsanti.

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:[AndEngine] suddivisione in "frame"
« Risposta #5 il: 16 Febbraio 2012, 09:37:16 CET »
0
Per vedere l'estensione della scena, setta ad ogni scena un colore di background diverso e guarda il risultato.

Offline alpha_php

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid A1
  • Sistema operativo:
    Windows 7
Re:[AndEngine] suddivisione in "frame"
« Risposta #6 il: 16 Febbraio 2012, 09:45:07 CET »
0
già fatto. la scena centrale è di colore bianco e usando il pan e zoom, noto che questa sembra non finire mai.. le altre scene, se non le imposto trasparenti, sono nere e coprono interamente la parte sottostante.

Offline giannign1

  • Utente junior
  • **
  • Post: 85
  • Respect: +2
    • chiedetelo_se_lo_volete
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Play Store ID:
    giannign1
  • Sistema operativo:
    Windows 7
R: [AndEngine] suddivisione in "frame"
« Risposta #7 il: 20 Febbraio 2012, 10:38:39 CET »
0
Dimmi se ho capito bene
La scena con il frame che deve poter fare il pinch zoom ha come figlia la scena della status bar giusto?

Se così invece di usare setChildScene(Scene pScene)

Devi usare
SetChildScene(Scene pScene, boolean pModalDraw, boolean pModalTouchable, boolean pModalUpdate)

(Adesso sto andando a memoria e non ricordo con esattezza l'ordine dei tre parametri Modal cmq ci sono tutti e 3)

Quindi devi fare

ScenaZoomabile.setChildScene(ScenaStatusBar, false, false, false);

Ovviamente le touch area della scena figlia hanno la precedenza quindi sulla parte trasparente non registrare nessuna touchArea

Se non sono staato chiaro chiedi pure :)

Gianni

Inviato dal mio Nexus One usando Tapatalk

Offline alpha_php

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid A1
  • Sistema operativo:
    Windows 7
Re:[AndEngine] suddivisione in "frame"
« Risposta #8 il: 21 Febbraio 2012, 22:07:02 CET »
0
Si inizialmente era così che stavo procedendo, ma sono riuscito a risolvere dichiarando i pulsanti come hud. Adesso devo risciure ad implementare le azioni.