Я написал фрагмент кода C# для работы на мобильных устройствах в Unity. Я тестировал на веб-камере, и все работало отлично.
Однако, когда я собирал его как APK, он не работал на моем мобильном устройстве, и проблема явно заключалась в коде C#. Я не знаком с мобильной средой и не совсем уверен, что код C# может выполняться на устройствах Android, но я думал, что Unity с этим справится.
Должен ли я признать, что C# нельзя запускать на мобильных устройствах, или есть решение?
Вот мой фрагмент кода:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
public class MenuScript : MonoBehaviour {
Texture2D screenCap;
Texture2D border;
bool shot = false;
public Button m_YourFirstButton;
// Use this for initialization
void Start () {
screenCap = new Texture2D(300, 200, TextureFormat.RGB24, false); // 1
border = new Texture2D(2, 2, TextureFormat.ARGB32, false); // 2
border.Apply();
m_YourFirstButton.onClick.AddListener(TaskOnClick);
}
// Update is called once per frame
void Update () {
}
public void TaskOnClick()
{
StartCoroutine("Capture");
}
void OnGUI()
{
GUI.DrawTexture(new Rect(200, 100, 300, 2), border, ScaleMode.StretchToFill); // Top
GUI.DrawTexture(new Rect(200, 300, 300, 2), border, ScaleMode.StretchToFill); // Bottom
GUI.DrawTexture(new Rect(200, 100, 2, 200), border, ScaleMode.StretchToFill); // Left
GUI.DrawTexture(new Rect(500, 100, 2, 200), border, ScaleMode.StretchToFill); // Right
if (shot)
{
GUI.DrawTexture(new Rect(10, 10, 60, 40), screenCap, ScaleMode.StretchToFill);
}
}
IEnumerator Capture()
{
yield return new WaitForEndOfFrame();
screenCap.ReadPixels(new Rect(198, 98, 298, 198), 0, 0);
screenCap.Apply();
byte[] bytes = screenCap.EncodeToPNG();
//Object.Destroy(screenCap);
// For testing purposes, also write to a file in the project folder
File.WriteAllBytes(Application.dataPath + "/SavedScreen.png", bytes);
shot = true;
}
}
Подробнее здесь: https://stackoverflow.com/questions/550 ... -on-mobile
Как я могу использовать код C# в Unity для работы на мобильных устройствах? ⇐ C#
Место общения программистов C#
1769172081
Anonymous
Я написал фрагмент кода C# для работы на мобильных устройствах в Unity. Я тестировал на веб-камере, и все работало отлично.
Однако, когда я собирал его как APK, он не работал на моем мобильном устройстве, и проблема явно заключалась в коде C#. Я не знаком с мобильной средой и не совсем уверен, что код C# может выполняться на устройствах Android, но я думал, что Unity с этим справится.
Должен ли я признать, что C# нельзя запускать на мобильных устройствах, или есть решение?
Вот мой фрагмент кода:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
public class MenuScript : MonoBehaviour {
Texture2D screenCap;
Texture2D border;
bool shot = false;
public Button m_YourFirstButton;
// Use this for initialization
void Start () {
screenCap = new Texture2D(300, 200, TextureFormat.RGB24, false); // 1
border = new Texture2D(2, 2, TextureFormat.ARGB32, false); // 2
border.Apply();
m_YourFirstButton.onClick.AddListener(TaskOnClick);
}
// Update is called once per frame
void Update () {
}
public void TaskOnClick()
{
StartCoroutine("Capture");
}
void OnGUI()
{
GUI.DrawTexture(new Rect(200, 100, 300, 2), border, ScaleMode.StretchToFill); // Top
GUI.DrawTexture(new Rect(200, 300, 300, 2), border, ScaleMode.StretchToFill); // Bottom
GUI.DrawTexture(new Rect(200, 100, 2, 200), border, ScaleMode.StretchToFill); // Left
GUI.DrawTexture(new Rect(500, 100, 2, 200), border, ScaleMode.StretchToFill); // Right
if (shot)
{
GUI.DrawTexture(new Rect(10, 10, 60, 40), screenCap, ScaleMode.StretchToFill);
}
}
IEnumerator Capture()
{
yield return new WaitForEndOfFrame();
screenCap.ReadPixels(new Rect(198, 98, 298, 198), 0, 0);
screenCap.Apply();
byte[] bytes = screenCap.EncodeToPNG();
//Object.Destroy(screenCap);
// For testing purposes, also write to a file in the project folder
File.WriteAllBytes(Application.dataPath + "/SavedScreen.png", bytes);
shot = true;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/55076189/how-can-i-use-c-sharp-code-in-unity-to-work-on-mobile[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия