diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index a446cd7..4155c83 100644 --- a/.idea/caches/build_file_checksums.ser +++ b/.idea/caches/build_file_checksums.ser Binary files differ diff --git a/app/build.gradle b/app/build.gradle index c49e5ef..8d58ebc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,7 +30,7 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:27.1.1' - implementation 'com.android.support.constraint:constraint-layout:1.1.2' + implementation 'com.android.support.constraint:constraint-layout:1.1.1' implementation 'com.android.support:support-v4:27.1.1' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleActivity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleActivity.java index 24d5bad..6dec524 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleActivity.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleActivity.java @@ -16,7 +16,7 @@ FragmentManager manager = getSupportFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); - transaction.add(R.id.fragment_field, new StartFragment()); + transaction.add(R.id.framelayout_field, new StartFragment()); transaction.addToBackStack(null); transaction.commit(); } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleGame2Fragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleGame2Fragment.java index b36586c..7b43eeb 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleGame2Fragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleGame2Fragment.java @@ -2,12 +2,19 @@ import android.os.Bundle; import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.LinearLayout; import org.ntlab.radishforandroidstudio.R; +import org.ntlab.radishforandroidstudio.framework.RWT.RWTSurfaceView; +import org.ntlab.radishforandroidstudio.framework.RWT.RWTUIFragment; import org.ntlab.radishforandroidstudio.framework.animation.Animation3D; import org.ntlab.radishforandroidstudio.framework.gameMain.OvergroundActor; import org.ntlab.radishforandroidstudio.framework.gameMain.RealTime3DFragment; @@ -97,30 +104,17 @@ start(1000L, 50L, true); } - @Override - protected void progress(long interval) { - Velocity3D curV = pocha.getVelocity(); - if (isTouched) { - pocha.rotY(0.1 * (0.5f - touchX) * (double)(interval / 15.0)); - curV.setX(pocha.getDirection().getX() * 200.0 * (0.5f - touchY)); - curV.setZ(pocha.getDirection().getZ() * 200.0 * (0.5f - touchY)); - pocha.setVelocity(curV); - } else { - curV.setX(0.0); - curV.setZ(0.0); - pocha.setVelocity(curV); - } - camera.setViewPoint(pocha.getPosition().add(0.0, 15.0, 0.0)); - camera.setViewLine(pocha.getDirection()); - } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - // Inflate the layout for this fragment - View view = inflater.inflate(R.layout.fragment_sample_game2, container, false); - view.setOnTouchListener(new View.OnTouchListener() { + //ここfragment_real_time3dに紐づけ + parentView = inflater.inflate(R.layout.fragment_real_time_3d, container, false); + //ゲーム画面作成 + initGameWindowView(); + + parentView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { @@ -138,6 +132,43 @@ return true; } }); - return view; + return parentView; } + + @Override + protected void progress(long interval) { + Velocity3D curV = pocha.getVelocity(); + if (isTouched) { + pocha.rotY(0.1 * (0.5f - touchX) * (double) (interval / 15.0)); + curV.setX(pocha.getDirection().getX() * 200.0 * (0.5f - touchY)); + curV.setZ(pocha.getDirection().getZ() * 200.0 * (0.5f - touchY)); + pocha.setVelocity(curV); + } else { + curV.setX(0.0); + curV.setZ(0.0); + pocha.setVelocity(curV); + } + camera.setViewPoint(pocha.getPosition().add(0.0, 15.0, 0.0)); + camera.setViewLine(pocha.getDirection()); + } + + //sampleUiFragmentからそのまま持ってきた + private void initGameWindowView() { + view = new RWTSurfaceView(this.getActivity()); + view.setRenderMode(RWTSurfaceView.RENDERMODE_WHEN_DIRTY); + view.attachCamera(camera); + + FrameLayout l = parentView.findViewById(R.id.game_layout); + l.addView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); + + FragmentManager fragmentManager = getFragmentManager(); + FragmentTransaction transaction = fragmentManager.beginTransaction(); + Fragment f = new RWTUIFragment(); + + View uiLayout = parentView.findViewById(R.id.ui_layout); + uiLayout.setOnTouchListener((RWTUIFragment) f); + transaction.add(R.id.ui_layout, f); + transaction.commit(); + } + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleGameFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleGameFragment.java index 720a447..7571404 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleGameFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleGameFragment.java @@ -4,11 +4,18 @@ import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.LinearLayout; +import org.ntlab.radishforandroidstudio.framework.RWT.RWTSurfaceView; +import org.ntlab.radishforandroidstudio.framework.RWT.RWTUIFragment; import org.ntlab.radishforandroidstudio.framework.gameMain.OvergroundActor; import org.ntlab.radishforandroidstudio.framework.gameMain.RealTime3DFragment; import org.ntlab.radishforandroidstudio.framework.model3D.BaseObject3D; @@ -55,7 +62,7 @@ Box b1 = new Box(1.0f, 1.0f, 1.0f, ap1); final Object3D obj1 = new Object3D("box", b1); obj1.scale(2.0, 2.0, 2.0); - obj1.apply(new Position3D(0.0 , 30.0, 0.0), false); + obj1.apply(new Position3D(0.0, 30.0, 0.0), false); OvergroundActor actor = new OvergroundActor(obj1, null); universe.place(actor); @@ -101,7 +108,9 @@ @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_sample_game, container, false); + parentView = inflater.inflate(R.layout.fragment_real_time_3d, container, false); + initGameWindowView(); + return parentView; } @Override @@ -110,13 +119,33 @@ super.onDestroy(); } - public boolean onOptionsItemSelected(MenuItem item){ + public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); - if(id == R.id.action_settings){ + if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } + + //sampleUiFragmentからそのまま持ってきた + public void initGameWindowView() { + // 画面との関連付け + view = new RWTSurfaceView(this.getActivity()); + view.setRenderMode(RWTSurfaceView.RENDERMODE_WHEN_DIRTY); + view.attachCamera(camera); + + FrameLayout l = parentView.findViewById(R.id.game_layout); + l.addView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); + + FragmentManager fragmentManager = getFragmentManager(); + FragmentTransaction transaction = fragmentManager.beginTransaction(); + Fragment f = new RWTUIFragment(); + + View uiLayout = parentView.findViewById(R.id.ui_layout); + uiLayout.setOnTouchListener((RWTUIFragment) f); + transaction.add(R.id.ui_layout, f); + transaction.commit(); + } } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleUiFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleUiFragment.java index 3bf12b0..3ec25c2 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleUiFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/SampleUiFragment.java @@ -62,7 +62,7 @@ Box b1 = new Box(1.0f, 1.0f, 1.0f, ap1); final Object3D obj1 = new Object3D("box", b1); obj1.scale(2.0, 2.0, 2.0); - obj1.apply(new Position3D(0.0 , 30.0, 0.0), false); + obj1.apply(new Position3D(0.0, 30.0, 0.0), false); OvergroundActor actor = new OvergroundActor(obj1, null); universe.place(actor); @@ -111,10 +111,10 @@ super.onDestroy(); } - public boolean onOptionsItemSelected(MenuItem item){ + public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); - if(id == R.id.action_settings){ + if (id == R.id.action_settings) { return true; } @@ -134,7 +134,7 @@ Fragment f = new RWTUIFragment(); View uiLayout = parentView.findViewById(R.id.ui_layout); - uiLayout.setOnTouchListener((RWTUIFragment)f); + uiLayout.setOnTouchListener((RWTUIFragment) f); transaction.add(R.id.ui_layout, f); transaction.commit(); } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/StartFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/StartFragment.java index b6668d5..b1fa9cf 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/StartFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/tests/StartFragment.java @@ -26,12 +26,13 @@ super.onStart(); Button button = getActivity().findViewById(R.id.start_button); - button.setOnClickListener(new View.OnClickListener(){ + button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); - transaction.replace(R.id.fragment_field,new SampleUiFragment()); + transaction.replace(R.id.framelayout_field, new SampleUiFragment()); + //transaction.replace(R.id.framelayout_field,new SampleGame2Fragment()); transaction.addToBackStack(null); transaction.commit(); } diff --git a/app/src/main/res/layout/activity_sample.xml b/app/src/main/res/layout/activity_sample.xml index ac0f24f..fe0e4b9 100644 --- a/app/src/main/res/layout/activity_sample.xml +++ b/app/src/main/res/layout/activity_sample.xml @@ -8,7 +8,7 @@ tools:context=".cactusClient.tests.SampleActivity">