Были ошибки «ссылка на объект требуется для доступа к нестатическому члену».Ошибка C# Ссылка на объект требуется для доступа к нестатическому члену (последовательная связь между единицей и ардуино)
Вы знаете, как решить эти проблемы? Я не хочу использовать «статический», потому что единство gui «button-Onclick» не может использовать статический член.
как этот скриншот, если мы используем статический элемент на GUI (холст кнопки кнопки мыши), что статический член не перечислены ("отсутствует --------- --- ")
мой код - удар.
Sending.cs
using UnityEngine;
using System.Collections;
using System.IO.Ports;
using System.Threading;
public class Sending : MonoBehaviour{
//public static SerialPort sp = new SerialPort("COM4",9600,Parity.
public SerialPort sp = new SerialPort("----------);
public string message2;
float timePassed = 0.0f;
//Use this for initialization
void Start()
{
OpenConnection();
}
//Update is called once per frame
void Update(){
//timePassed+= Time.deltaTime;
//if(timePassed)=0.2f){
//print("BytesToRead" +sp.BytesToRead);
message2 = sp.ReadLine();
print (message2);
///timePassed = 0.0f;
//}
}
public void OpenConnection()
{
if(sp != null)
{
if (sp.IsOpen) {
sp.Close();
print ("Closing port, because it was already open!");
} else {
sp.Open();//open the connection
sp.ReadTimeout = 16;
print ("Port Opened!");
//message = "Port Opened";
}
}
else
{
if (sp.IsOpen)
{
print ("Port is already open");
}
else
{
print ("Port == null");
}
}
}
void OnApplicationQuit()
{
sp.Close();
}
public void sendStop(){
sp.Write ("s");
}
public void sendForward(){
sp.Write("f");
}
public void sendBack(){
sp.Write("b");
}
public void sendRight(){
sp.Write("r");
}
public void sendLeft(){
sp.Write("l");
}
}
также есть некоторые сценарий.
CallForward.cs
using UnityEngine;
using System.Collections;
public class CallForward: MonoBehaviour {
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
}
void OnMouseDown(){
print ("Clicked");
Sending.sendForward();
}
}
Этот проект предназначен для соединения единства с ардуино для управления двигателем постоянного тока с помощью uGUI. – tk08
Как CallForward.cs, у меня есть CallStop, Right, Left, Back.cs. – tk08
Я уже контролировал двигатель постоянного тока от объекта Unity «Cube» до Arduino по Serial Communication. Однако, использование статического. Используя тот же алгоритм, я пытаюсь кодировать uGUI. В результате uGUI> Canvas> Button (Onclick отсутствует). А теперь, я удалить статический из Sending.cs общественного SerialPort зр = новый SerialPort ("----------); и общественности (статический) аннулируются sendStop() { зр. Write ("s"); } – tk08