Unity - GUI не обновляется соответственно с данными, отправленный сценарий PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Unity - GUI не обновляется соответственно с данными, отправленный сценарий Python

Сообщение Anonymous »

Я пытаюсь воссоздать спидометр в Unity, где данные RPM отправляются из сценария Python. Я использовал розетки для отправки данных в мое приложение Unity вместо запроса по какой -то причине, я продолжаю получать ошибку «неверного хоста - 404». Данные получают Unity, но графический интерфейс не обновляется. Я объявил изображение в инспекторе, но оно все еще не обновилось. < /P>
using UnityEngine;
using UnityEngine.UI;
using System.Net;
using System.Text;
using System.Threading;
using System.Net.Sockets;

public class Speedometer : MonoBehaviour
{
Thread thread;
public int connectionPort = 25001;
TcpListener server;
TcpClient client;
bool running;

public Image SpeedoMeter_Needle;
float currentSpeed = 0.0f;
volatile float targetSpeed = 0;
float needleSpeed = 100.0f;

void Start()
{
if (SpeedoMeter_Needle == null)
{
Debug.LogError("Speedometer Needle Image is not assigned!");
return;
}

thread = new Thread(GetData);
thread.Start();
}

void GetData()
{
server = new TcpListener(IPAddress.Any, connectionPort);
server.Start();
running = true;

while (running)
{
client = server.AcceptTcpClient();
NetworkStream nwStream = client.GetStream();
byte[] buffer = new byte[client.ReceiveBufferSize];

while (client.Connected)
{
int bytesRead = nwStream.Read(buffer, 0, client.ReceiveBufferSize);
if (bytesRead > 0)
{
string dataReceived = Encoding.UTF8.GetString(buffer, 0, bytesRead);
float parsedValue = ParseData(dataReceived);

UnityMainThreadDispatcher.Instance().Enqueue(() => targetSpeed = parsedValue);

nwStream.Write(buffer, 0, bytesRead);
}
}

client.Close();
}
server.Stop();
}

private static float ParseData(string dataString)
{
Debug.Log(dataString);
if (dataString.StartsWith("(") && dataString.EndsWith(")"))
{
dataString = dataString.Substring(1, dataString.Length - 2);
}
return float.Parse(dataString);
}

void Update()
{
if (targetSpeed != currentSpeed)
{
UpdateSpeed();
}
}

void UpdateSpeed()
{
if (targetSpeed > currentSpeed)
{
currentSpeed += Time.deltaTime * needleSpeed;
currentSpeed = Mathf.Clamp(currentSpeed, 0.0f, targetSpeed);
}
else if (targetSpeed < currentSpeed)
{
currentSpeed -= Time.deltaTime * needleSpeed;
currentSpeed = Mathf.Clamp(currentSpeed, targetSpeed, 200.0f);
}
SetNeedle();
}

void SetNeedle()
{
float rotationAngle = (currentSpeed / 200.0f * 240.0f - 120.0f) * -1.0f;
SpeedoMeter_Needle.rectTransform.localRotation = Quaternion.Euler(0, 0, rotationAngle);
}

}

< /code>
import socket
import keyboard
import time

host, port = "127.0.0.1", 25001

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, port))

def key_test():
rpm_init = 0.0
try:
while True:
if keyboard.is_pressed('q'):
rpm_init += 0.1
rpm_init = min(rpm_init, 140) # Cap at 140

else:
rpm_init -= 0.005
rpm_init = max(rpm_init, 0) # Prevent going below 0

message = str(rpm_init).encode("utf-8")
sock.sendall(message)
response = sock.recv(1024).decode("utf-8")
print(response)

time.sleep(0.05)
except KeyboardInterrupt:
print("Closing connection.")
sock.close()

key_test()

< /code>
I want it to update my GUI according to the data sent from the python script. Any help is appreciated.

Подробнее здесь: https://stackoverflow.com/questions/794 ... cript-sent
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Unity - GUI не обновляется соответственно с данными, отправленный сценарий Python
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Unity - GUI не обновляется соответственно с данными, отправленный сценарий Python
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • ПРОБЛЕМЫ ПРЕДУПРЕЖДЕНИЯ GUI PYTHON GUI
    Anonymous » » в форуме Python
    0 Ответы
    91 Просмотры
    Последнее сообщение Anonymous
  • Текстовый игровой объект Unity GUI — базовый сценарий C# не работает
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Java Gui Jlist не обновляется при переключении JPanel с CardLayout
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»