Moldave72
Messages postés6Date d'inscriptionjeudi 21 mars 2013StatutMembreDernière intervention 3 janvier 2014
-
Modifié par Moldave72 le 4/12/2013 à 07:26
Bonjour,
Je suis très novice dans ce domaine et j'ai appris sur java et android par moi même alors je dois avouer que bien souvent je me retrouve confronté à des problèmes de basiques que je n'ai pas bien integré. (sur certaines classes je ne comprends pas toujours le rôle de mes constructeurs ou difficultés a coordonner les appels de méthodes dans ma hierarchie par exemple) Donc, si vous répondez, je vous en prie, prenez en compte ce paramètre et adaptez la réponse si possible.
Voilà, j'essai de creer un petite application pour android :
-Cette application utilise OPENGL pour creer des séries de cubes en rotation/temps. (tuto HelloAndroid Ed Burnette)
-A côté, j'inflate un layout peuplé de boutons et text que j'aditionne avec l'interface créée sur OPENGL.
-Et enfin, je créé une classeJava Bouton (qui se rapporte aux objets du layout), qui doit rassembler les méthodes et renvoyer des float pour paramétrer les vitesses de rotations de mes cubes.
Voire, les arrêter.
Le problème, c'est que je ne sais pas ou appeler mes méthodes "Bouton.monClick()", ou et comment récupérer les valeurs qui m'interessent... et plein de choses;;;
pour qu'elles agissent comme voulu.
Et surtout, je pense que je ne les paramètre pas bien du tout à la base, car elles font tout planter et l'appli ne se lance plus.
je voulais savoir comment faire et si vous pouviez jeter un oeil pédagogique sur ce probleme dont je vous envoie le code ci dessous :
Mon main :
---------------------------------
package org.example.opengl;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
public class OpenGL extends Activity {
ViewGroup viewG;
GLView viewGl;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_open_gl);
viewGl = new GLView(this);
final LinearLayout l = (LinearLayout) findViewById(R.id.inflater_view);
l.addView(viewGl);
}
-------------------------------
Mon GLView qui gere tout l'OPENGL
-------------------------------
package org.example.opengl;
import android.content.Context;
import android.graphics.Matrix;
import android.opengl.GLSurfaceView;
import android.view.View;
public class GLView extends GLSurfaceView {
private long startTime;
private long fpsStartTime;
private long numFrames;
public GLView(Context context) {
super(context);
// maintenant on definit notre rendu
GLRenderer renderer = new GLRenderer(context);
setRenderer(renderer);
startTime = System.currentTimeMillis();
fpsStartTime = startTime;
numFrames = 0;
Bouton bout = new Bouton();
bout.monClick();
}
public void setImageMatrix(Matrix matrix) {
// TODO Auto-generated method stub
}
}
-------------------------------
Ma classe Bouton qui doit se charger de créer des nouvelles valeurs d'évolution de ma scène.
-------------------------------
package org.example.opengl;
import android.app.Activity;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class Bouton extends OpenGL implements OnClickListener {
public void monClick(){
Float=null
ImageButton btn;
btn = (ImageButton) findViewById(R.id. imageButton1);
btn.setOnClickListener(this);
}
public void onClick(View v) {
if (v.getId() == R.id. imageButton1) {
Toast.makeText(getApplicationContext(),
"btn ok", Toast.LENGTH_SHORT).show();
float+=50f; // augmente la vitesse du [/download/telecharger-34085902-spin spin] de 50f
// radians/temps.
Integer+=1;// augmente le nombre de cubes créés, soumis
// aux transformations.
}
};
}
Je n'arrive pas encore à définir mes cubes comme objets propres sur lesquels je peux cliquer, à terme c'est ce que je veux faire ( ils bougent donc ce sera surement difficile de parametrer cette fonction c'est pourquoi cela est pour plus tard)
Mais pour le moment, pouvoir gerer les transformations via des boutons c'est amplement suffisant.