Pus*_*dra 5 c# java android unity-game-engine
我遇到了一个问题。这个问题已经有人问过了。但是这个问题没有答案。
根据这个问题的标题。如何在原生android项目中集成多个unity模块或库。我遵循了很多程序。但是我没有得到这个问题的解决方案。根据UNITY TECHNOLOGY指令,我必须将统一库集成到我的项目中。我已经为两个 unityLibrary 完成了这个。对于第二个库,我必须更改包和类名。并让它发挥作用。完成所有这些更改后,我的项目构建成功并且编译没有任何错误。当我点击加载第一个游戏时,它正在加载第一个游戏。但是当我点击加载第二个游戏时,它也只加载了第一个游戏。
下面是我的 android studio 的截图。
我正在与您分享有关此的更多描述。
*里面app module有 2 Activity,命名为MainActivityand GameHolderActivity。下面是MainActivity.java.
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn1Click).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, GameHolderActivity.class);
intent.putExtra("game", 1);
startActivity(intent);
}
});
findViewById(R.id.btn2Click).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, GameHolderActivity.class);
intent.putExtra("game", 2);
startActivity(intent);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
在那之后,现在我提到了GameHolderActivity.java.
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
//FIRST GAME ACTIVITY
import com.unity3d.player.UnityPlayerActivity;
//SECOND GAME ACTIVITY
import com.game.player.GamePlayerActivity;
public class GameHolderActivity extends Activity {
private String TAG = "GAME_HOLDER_ACTIVITY";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first_game);
if (getIntent().hasExtra("game") && getIntent().getIntExtra("game", 0) == 1) {
Log.d(TAG, "FIRST_GAME");
Intent intent = new Intent(GameHolderActivity.this, UnityPlayerActivity.class);
startActivity(intent);
} else {
Log.d(TAG, "SECOND_GAME");
Intent intent = new Intent(GameHolderActivity.this, GamePlayerActivity.class);
startActivity(intent);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在整个过程中,我只更改了一个库包名称。这样我就可以确定我的第二个游戏活动。
我在我的build.gradle(Module:app)里面又添加了一件东西android {}。
packagingOptions {
pickFirst '**/*.so'
}
Run Code Online (Sandbox Code Playgroud)
我为此尝试了以下教程,但没有得到多个游戏的任何积极响应。
所以请给我提供解决方案,以便我可以在我的原生 android 应用程序上打开我的两个 Unity 游戏。我将非常感谢您的帮助。
开发商。如果您正为这个问题所困扰。那么我想告诉你Unity Technology不支持这个。
所以总而言之,你不能在你的 Native android 应用程序中使用多个 unityLibrary。
那么我们怎样才能实现我们的目标呢?
对此,我咨询了专家,也做了研究,也与Unity支持团队进行了沟通。为了实现我们的目标,我们必须为所有游戏创建一个库。这意味着我们必须将所有游戏绑定到一个项目中。之后我们将从 android 端发送一些标识符到 Unity 端。这样我们就可以确定我们必须玩哪个游戏。然后,在验证之后,我们将从统一方面加载该特定场景或游戏。这样我们就可以根据您的要求玩多个游戏。
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |