diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTLayer.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTLayer.java deleted file mode 100644 index 4635c35..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTLayer.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.ntlab.radishforandroidstudio.framework.RWT; - -import android.graphics.drawable.Drawable; - -import org.ntlab.radishforandroidstudio.java3d.GraphicsContext3D; - -import java.util.ArrayList; - -/** - * 複数のdrawableを管理するクラス - */ -public class RWTLayer { - private ArrayList drawables = new ArrayList<>(); - - public RWTLayer() { - - } - - /** - * RWTDrawableを追加する - * - * @auther s.iwatani - * @param drawable 追加したいRWTDrawable - */ - public void addDrawable(RWTDrawable drawable) { - drawables.add(drawable); - } - - /** - * RWTDrawableを削除する - * - * @param drawable 削除したいRWTDrawable - */ - public void removeDrawable(RWTDrawable drawable) { - drawables.remove(drawable); - } - - /** - * レイヤーに配置されたdrawableを描画する - * - * @param gc3D - */ - public void draw(GraphicsContext3D gc3D) { - // 2D描画開始 - gc3D.startDrawImage(); - - for (RWTDrawable drawable : drawables) { - drawable.draw(gc3D); - } - - // 戻し - gc3D.endDrawImage(); - } -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTLayers.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTLayers.java deleted file mode 100644 index 9a3c9df..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTLayers.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.ntlab.radishforandroidstudio.framework.RWT; - -import android.support.v13.view.DragStartHelper; - -import org.ntlab.radishforandroidstudio.java3d.GraphicsContext3D; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Iterator; -import java.util.Map; -import java.util.TreeMap; - -public class RWTLayers { - private TreeMap> layers = new TreeMap( - new Comparator() { - public int compare(Integer m, Integer n){ - return ((Integer)m).compareTo(n) * -1; - } - } - ); - - public RWTLayers() { - - } - - /** - * レイヤーを追加 - * - * @author s.iwatani - * @param priority 描画の優先順位.低いほうが手前に表示される - * @param layer 追加するレイヤー - */ - public void addLayer(int priority, RWTLayer layer) { - if (layers.get(priority) == null) { - layers.put(priority, new ArrayList()); - } - layers.get(priority).add(layer); - } - - /** - * レイヤーを削除 - * - * @author s.iwatani - * @param layer 削除したいレイヤー - */ - public void removeLayer(RWTLayer layer) { - Iterator>> it = layers.entrySet().iterator(); - - while(it.hasNext()) { - Map.Entry> value = it.next(); - value.getValue().remove(layer); - - // 空ならその優先順位の値は不要になるため削除 - if (value.getValue().isEmpty()) { - it.remove(); - } - } - } - - /** - * 描画の優先順位を変更 - * - * @author s.iwatani - * @param priority 変更後の優先順位 - * @param layer 対象レイヤー - */ - public void changePriority(int priority, RWTLayer layer) { - removeLayer(layer); - addLayer(priority, layer); - } - - /** - * 描画の優先順位を最前面へ変更 - * - * @author s.iwatani - * @param layer 対象レイヤー - */ - public void changeTopPriority(RWTLayer layer) { - removeLayer(layer); - addLayer(calcTopPriority(), layer); - } - - /** - * 最前面に表示するためのpriorityの値を取得する - * - * @author s.iwatani - * @return int 優先順位 - */ - public int calcTopPriority() { - if (layers.isEmpty()) { - return 0; - } - return layers.firstKey() - 1; - } - - /** - * セットされているレイヤーを描画する - * - * @author s.iwatani - * @param gc3D - */ - public void draw(GraphicsContext3D gc3D) { - for (Map.Entry> entry : layers.entrySet()) { - for (RWTLayer layer : entry.getValue()) { - layer.draw(gc3D); - } - } - } -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTRenderer.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTRenderer.java index 17a20f8..ca2a4c7 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTRenderer.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTRenderer.java @@ -16,7 +16,6 @@ protected Viewer3D viewer; protected Camera3D camera; protected GraphicsContext3D gc3D = null; - protected RWTLayers layers = new RWTLayers(); protected GL10 gl; public RWTRenderer() { @@ -29,10 +28,6 @@ viewer = new Viewer3D(camera); } - public void attachLayers(RWTLayers layers) { - this.layers = layers; - } - @Override public void onSurfaceCreated(GL10 gl, EGLConfig config) { this.gl = gl; @@ -70,8 +65,5 @@ gc3D.pushMatrix(); camera.getUniverse().render(viewer); gc3D.popMatrix(); - - // UI, HUDのレンダリング - layers.draw(gc3D); } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTSurfaceView.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTSurfaceView.java index 43e52b4..aa7b742 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTSurfaceView.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTSurfaceView.java @@ -7,7 +7,6 @@ public class RWTSurfaceView extends GLSurfaceView { protected RWTRenderer renderer; - protected RWTLayers layers = new RWTLayers(); public RWTSurfaceView(Context context) { this(context, true); @@ -17,7 +16,6 @@ super(context); if (bInitRenderer) { renderer = new RWTRenderer(); - renderer.attachLayers(layers); setEGLConfigChooser(8, 8, 8, 8, 16, 0); this.setRenderer(renderer); } @@ -26,54 +24,4 @@ public void attachCamera(Camera3D camera) { renderer.attachCamera(camera); } - - /** - * レイヤーを最前面に配置するように追加 - * - * @author s.iwatani - * @param layer 追加したいレイヤー - */ - public void addLayer(RWTLayer layer) { addLayer(layers.calcTopPriority(), layer); } - - /** - * レイヤーを追加 - * - * @author s.iwatani - * @param priority 優先順位 低いほど手前に表示される - * @param layer 追加したいレイヤー - */ - public void addLayer(int priority, RWTLayer layer) { - layers.addLayer(priority, layer); - } - - /** - * 描画の優先順位を変更 - * - * @author s.iwatani - * @param priority 変更後の優先順位 - * @param layer 対象レイヤー - */ - public void changePriority(int priority, RWTLayer layer) { - layers.changePriority(priority, layer); - } - - /** - * 描画の優先順位を最前面へ変更 - * - * @author s.iwatani - * @param layer 対象レイヤー - */ - public void changeTopPriority(RWTLayer layer) { - layers.changeTopPriority(layer); - } - - /** - * レイヤーを削除 - * - * @author s.iwatani - * @param layer 削除したいレイヤー - */ - public void removeLayer(RWTLayer layer) { - layers.removeLayer(layer); - } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java index 447fceb..e1a02ae 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java @@ -10,7 +10,9 @@ import org.ntlab.radishforandroidstudio.R; -public class RWTUIFragment extends Fragment implements View.OnTouchListener { +import static android.view.View.*; + +public class RWTUIFragment extends Fragment implements OnTouchListener { public RWTUIFragment() {} @Override @@ -22,20 +24,11 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.ui_fragment, container, false); - v.setOnTouchListener(new View.OnTouchListener() { - public boolean onTouch(View v, MotionEvent event) { - if(event.getAction() == MotionEvent.ACTION_MOVE){ - System.out.println("faaa"); - } - return true; - } - }); - - Button btn = (Button)v.findViewById(R.id.button3); - btn.setOnTouchListener(new View.OnTouchListener() { + Button btn = v.findViewById(R.id.button3); + btn.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { - System.out.println("testtest"); + System.out.println("f"); return false; } }); @@ -46,6 +39,10 @@ @Override public boolean onTouch(View v, MotionEvent event) { - return true; +// switch (v.getId()) { +// +// } + System.out.println("id: " + v.getId()); + return false; } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/spriteTest/TestActivity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/spriteTest/TestActivity.java index 1ffbafa..431568c 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/spriteTest/TestActivity.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/spriteTest/TestActivity.java @@ -4,21 +4,13 @@ import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; -import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; -import android.view.SurfaceView; import android.view.View; -import android.widget.Button; import android.widget.LinearLayout; -import android.widget.RelativeLayout; -import android.widget.TableLayout; import org.ntlab.radishforandroidstudio.R; -import org.ntlab.radishforandroidstudio.framework.RWT.RWTButton; -import org.ntlab.radishforandroidstudio.framework.RWT.RWTLayer; -import org.ntlab.radishforandroidstudio.framework.RWT.RWTLayers; import org.ntlab.radishforandroidstudio.framework.RWT.RWTSprite; import org.ntlab.radishforandroidstudio.framework.RWT.RWTSurfaceView; import org.ntlab.radishforandroidstudio.framework.RWT.RWTUIFragment; @@ -45,7 +37,6 @@ private Solid3D ground; private Transform3D initTrans; private Solid3D diceObj; - RWTLayer[] layer = new RWTLayer[3]; private long time = 0; private int side = 0; @@ -121,34 +112,10 @@ FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); Fragment f = new RWTUIFragment(); + View uiLayout = (View)findViewById(R.id.ui_layout); + uiLayout.setOnTouchListener((RWTUIFragment)f); transaction.add(R.id.ui_layout, f); transaction.commit(); -// View ui = this.getLayoutInflater().inflate(R.layout.ui_fragment, null); -// addContentView(ui, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); - - // layer - layer[0] = new RWTLayer(); - layer[1] = new RWTLayer(); - layer[2] = new RWTLayer(); - view.addLayer(layer[0]); - view.addLayer(layer[1]); - view.addLayer(layer[2]); - - sprite[0] = new RWTSprite(); - sprite[0].setTexture(getResources(), R.drawable.dice_6, false); - layer[0].addDrawable(sprite[0]); - - sprite[1] = new RWTSprite(); - sprite[1].setTexture(getResources(), R.drawable.wadahand, false); - sprite[1].setPosition(100, 100); - layer[1].addDrawable(sprite[1]); - - sprite[2] = new RWTSprite(); - sprite[2].setTexture(getResources(), R.drawable.tss_thumb, false); - sprite[2].setPosition(100, 100); - layer[2].addDrawable(sprite[2]); - - start(10); } @@ -161,13 +128,6 @@ long newTime = System.nanoTime(); physicalSystem.motion(0, 10, Force3D.ZERO, physicalSystem.objects.get(0).getGravityCenter(), null); - - time += interval; - if (time > 1000) { - time -= 1000; - side++; - view.changeTopPriority(layer[side % 3]); - } // Log.v("moji", "" + ((System.nanoTime()-newTime)/1000.0)); } diff --git a/app/src/main/res/layout/ui_fragment.xml b/app/src/main/res/layout/ui_fragment.xml index 95f6551..1080e08 100644 --- a/app/src/main/res/layout/ui_fragment.xml +++ b/app/src/main/res/layout/ui_fragment.xml @@ -10,4 +10,22 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> + + + + + \ No newline at end of file