是否可以从传递图像的android活动中启动统一,然后将该图像用作精灵?例如使用类似的东西:
Intent i = new Intent(this, UnityActivity.class);
i.putExtra(imageFile);
startActivity(i);
如果这是可能的,你如何统一处理收到的图像?
由于
答案 0 :(得分:0)
我通过将图像保存到Android活动中的特定位置解决了我自己的问题:
private static boolean storeImage(Bitmap imageData, String filename) {
//get path to external storage (SD card)
String iconsStoragePath = Environment.getExternalStorageDirectory() + "/gameFiles/myImages/";
File sdIconStorageDir = new File(iconsStoragePath);
//create storage directories, if they don't exist
sdIconStorageDir.mkdirs();
try {
String filePath = sdIconStorageDir.toString() + "/" + filename;
FileOutputStream fileOutputStream = new FileOutputStream(filePath);
BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream);
imageData.compress(CompressFormat.PNG, 100, bos);
bos.flush();
bos.close();
} catch (FileNotFoundException e) {
Log.w("TAG", "Error saving image file: " + e.getMessage());
return false;
} catch (IOException e) {
Log.w("TAG", "Error saving image file: " + e.getMessage());
return false;
}
return true;
}
然后我使用这个图像通过引用我在android活动中保存文件的位置来统一创建一个精灵:
IEnumerator Start()
{
string path = "file:///mnt//sdcard//gameFiles//myImages//img.png";
WWW www = new WWW(path);
yield return www;
SpriteRenderer renderer = gameObject.GetComponent<SpriteRenderer>();
Sprite sprite = new Sprite();
sprite = Sprite.Create(www.texture, new Rect(-0.7f, -0.7f, 330, 440), new Vector2(0.5f, 0.5f), 150.0f);
renderer.sprite = sprite;
Time.timeScale = 0;
}