我是机器人的菜鸟.每当我使用ViewGroup addView()方法时,我的应用程序都会崩溃,但是当我使用Activity addContentView()方法时,它会起作用.
我想使用addView()而不是addContentView()的原因是我希望能够在不需要时删除布局,这是addContentView()无法实现的.
代码:MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//CAMERA VIEW
setContentView(R.layout.activity_main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
ViewGroup rootView = (ViewGroup) findViewById(R.layout.activity_main);
LayoutInflater mLayoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
//GRAPHICS VIEW
glSurfaceView = new GLSurfaceView(this);
glSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
glSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
glSurfaceView.setRenderer(new GLRenderer());
//crash
//rootView.addView(glSurfaceView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
//not crash
addContentView(glSurfaceView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
glSurfaceView.setZOrderMediaOverlay(true);
//CONTROLS VIEW
View ctrlLayout = mLayoutInflater.inflate(R.layout.activity_controls, rootView);
//crash
//rootView.addView(ctrlLayout, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
//not crash
addContentView(ctrlLayout, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
ctrlLayout.bringToFront();
textView …
Run Code Online (Sandbox Code Playgroud) 我正在为iOS创建2D游戏.我的游戏使用主机和客户端方法为两个玩家与局域网中的游戏.主机在加载下一个场景后等待客户端.问题是两个玩家的场景加载都没有同步.场景比另一个更早开始.我想等待所有玩家在任何其他工作之前加载场景.
我的NetworkManager没有分配在线和离线场景.没有playerPrefab也因为它会动态添加.我正在使用ServerChangeScene().我是Unity和网络的新手,所以任何帮助都会受到赞赏.
public override void OnServerConnect (NetworkConnection conn)
{
base.OnServerConnect (conn);
print ("OnServerConnect");
//not localclient(host)
if (client != null && client.connection != conn) {
ServerChangeScene ("PlayScene");
}
}
Run Code Online (Sandbox Code Playgroud)