package org.ntlab.radishforandroidstudio.framework.gameMain; import android.support.v4.app.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; 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.model3D.Universe; import org.ntlab.radishforandroidstudio.framework.view3D.Camera3D; public class RealTime3DFragment extends RealTimeFragment{ protected Universe universe; protected Camera3D camera; protected RWTSurfaceView view; protected View parentView = null; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); universe = new Universe(); camera = new Camera3D(universe); // getActivity().addContentView(view,new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { parentView = inflater.inflate(R.layout.fragment_real_time_3d, container, false); initGameWindowView(); return inflater.inflate(R.layout.fragment_real_time_3d, container, false); } public View getParentView() { return parentView; } @Override protected void update(long interval) { progress(interval); universe.update(interval); camera.adjust(interval); view.requestRender(); } protected void progress(long interval) { } 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(); } }