Форум программистов, компьютерный форум CyberForum.ru

Изменить переменную из класса MainActivity в классе MainRenderer - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android SharedPreferences http://www.cyberforum.ru/android-dev/thread940474.html
Доброй ночи. Вышла заминка с бд класса SharedPreferences. Вообщем вот код: import android.app.Activity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; public class StatisticsActivity extends Activity { private static SharedPreferences sPref;
Android приложение должно но не открывается на андроиде ниже 14 API (4,0) Вообщем такое дело... для меня это какая то аномалия... с начал проект был поделен на 2 части это были отдельно лейаут логин и отдельно табы с меню... по отдельности оба запускались на андроиде API 8 и даже 7... а как только просто тупо поставил чтобы при нажатии на кнопку логин переходил на меню с табами то сразу перестал... и требует только андроид 4.0 и выше вот лог ошибок почему то... http://www.cyberforum.ru/android-dev/thread940455.html
Кастомный шрифт для всего приложения android eclipse Android
Как можно применить один шрифт для всего приложения полностью, включая не только кнопки и текствьюшки, но и ЭкшнБары, Табы, Листы и тд.? Подобные вещи типа String custom_font = "fonts/custom_font.ttf"; Typeface CF = Typeface.createFromAsset(getAssets(), custom_font); ((TextView) findViewById(R.id.sometextview)).setTypeface(CF); немножко забито делать...
Android TextView question
Всем привет и хорошего дня. А можно ли в коде задавать TextView и присваивать текст из ресурсов strings? Или, если уж в xml всё это объявлять, то каким-нибудь образом сделать, чтобы текст не отображался с момента создания лэйаута, а появлялся в определённое время?..Ну и исчезал потом ещё заодно через какое-то время.
Android Список контактов с аватарками http://www.cyberforum.ru/android-dev/thread940061.html
Собственно, есть у меня в программе список контактов. Сейчас появилась необходимость выводить аватарки. За основу вывода картинок в ListView я взял пример, прилагающийся к Universal ImageLoader. Соответственно, его я и использовал. Адаптер сейчас у меня выглядит так: class ContactAdapter extends BaseAdapter{ private class ViewHolder { public TextView name;
Android Проверка списка отозванных сертификатов Android Привет! В Android можно каким-либо образом указать, что при использованииSSL/TLS нужно проверять списки отозванных сертификатов (CRL) или всё нужно реализовывать самостоятельно? В JavaSE есть способ указать в SSLContext такую проверку. PKIXBuilderParameters pkixParams = new PKIXBuilderParameters(truststore, new X509CertSelector()); CollectionCertStoreParameters params = new... подробнее

Показать сообщение отдельно
cflood
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 37

Изменить переменную из класса MainActivity в классе MainRenderer - Android

20.08.2013, 08:42. Просмотров 720. Ответов 1
Метки (Все метки)

Ребята подскажите пожалуйста, у менять есть два файла:
MainActivity.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.app.Activity;
import android.view.MotionEvent;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Toast;
 
public class MainActivity extends Activity {
    //private boolean isTouch = false;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // Убираем тайтл приложения, тобишь делаем его FullScreen
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
        
        // Создаём новый Surface и устанавливаем MainRenderer
        GLSurfaceView view = new GLSurfaceView(this);
        view.setRenderer(new MainRenderer());
        view.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
        setContentView(view);
 
    }
    
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        int X = (int) event.getX();
        int Y = (int) event.getY();
        int upX = (int) event.getX();
        int upY = (int) event.getY();
        int downX = (int) event.getX();
        int downY = (int) event.getY();
        
        int eventaction = event.getAction();
 
        switch (eventaction) {
 
        case MotionEvent.ACTION_DOWN:
 
            Toast.makeText(this, "ВНИЗ "+"X: "+X+" Y: "+Y, Toast.LENGTH_SHORT).show();
 
            !!! ТУТ ЗАДАЁМ ЗНАЧЕНИЕ ПЕРЕМЕННОЙ SIZE !!!
            
            break;
 
        case MotionEvent.ACTION_MOVE:
 
            Toast.makeText(this, "ДВИЖЕНИЕ "+"X: "+X+" Y: "+Y, Toast.LENGTH_SHORT).show();
 
            break;
 
        case MotionEvent.ACTION_UP:
 
            Toast.makeText(this, "ВВЕРХ "+"X: "+X+" Y: "+Y, Toast.LENGTH_SHORT).show();
 
            break;
 
        }
 
        return true;
 
    }
 
}
MainRenderer.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import java.nio.ByteBuffer;
import java.nio.FloatBuffer;
import java.nio.ByteOrder;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.opengl.GLSurfaceView.Renderer;
 
 
public class MainRenderer implements Renderer {
    public int playerSize = 0;
    private Ship playerShip = new Ship();
    private Astedoid enemyAstedoid = new Astedoid();
    
    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
        gl.glClearColor(1.0f, 0.0f, 0.0f, 1.0f); 
    }
 
    @Override
    public void onDrawFrame(GL10 gl) {
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
        playerShip.draw(gl);
        enemyAstedoid.draw(gl);
    }
 
    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {
        gl.glViewport(0, 0, width, height);
        gl.glMatrixMode(GL10.GL_PROJECTION);
        gl.glLoadIdentity();
        gl.glOrthof(0, width, height, 0, 1, -1);
        gl.glMatrixMode(GL10.GL_MODELVIEW);
    }
 
// --------------------------------------------------------------------------------
    
    class Ship {
        public int health = 100;
        public int life = 3;
 
        public FloatBuffer ShipVertexBuffer;
 
        public float ShipVerticles[] = {
            5, 5,       // лево низ
            5, 10,      // лево вверх
            10, 5,      // право низ
            10, 10      // право вверх
        };
        public Ship() {
            ByteBuffer bb = ByteBuffer.allocateDirect(36);
            bb.order(ByteOrder.nativeOrder());
            ShipVertexBuffer = bb.asFloatBuffer();
            ShipVertexBuffer.put(ShipVerticles);
            ShipVertexBuffer.position(0);
        }
        
        public void draw(GL10 gl) {
              gl.glColor4f(0.0f, 1.0f, 0.0f, 1.0f);
              gl.glVertexPointer(2, GL10.GL_FLOAT, 0, ShipVertexBuffer);
              gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
        }
 
    }
    
    class Astedoid {
        public int health = 100;
        public int life = 3;
 
        public FloatBuffer AsteroidColorBuffer;
        public FloatBuffer AsteroidVertexBuffer;
 
        public float AsteroidVerticles[] = {
                25, 25,     // лево низ
                25, 30,     // лево вверх
                30, 25,     // право низ
                30, 30      // право вверх
            };
        public Astedoid() {
            ByteBuffer bb = ByteBuffer.allocateDirect(36);
            bb.order(ByteOrder.nativeOrder());
            AsteroidVertexBuffer = bb.asFloatBuffer();
            AsteroidVertexBuffer.put(AsteroidVerticles);
            AsteroidVertexBuffer.position(0);
        }
        
        public void draw(GL10 gl) {
              gl.glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
              gl.glVertexPointer(2, GL10.GL_FLOAT, 0, AsteroidVertexBuffer);
              gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
        }
 
    }
    
    
    
// --------------------------------------------------------------------------------
 
}
Цель задачи сделать чтобы из onTouchEvent на MotionEvent.ACTION_DOWN менялось значение некой переменной, например objectSize, после чего она передавалась в MainRenderer в class Ship и там менялось значение в:

Java
1
2
3
4
5
6
public float ShipVerticles[] = {
            5*objectSize, 5*objectSize,     // лево низ
            5*objectSize, 10*objectSize,        // лево вверх
            10*objectSize, 5*objectSize,        // право низ
            10*objectSize, 10*objectSize        // право вверх
        };
Подскажите пожалуйста как можно это реализовать? В итоге по касанию экрана меняется размер прямоугольника.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru