質問編集履歴
1
int message = int.Parse("123"); を int i = int.Parse("message");に変更しint i;を記述しました。
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            Unityで 
     | 
| 
      
 1 
     | 
    
         
            +
            UnityでFormatException: Input string was not in a correct format.というエラーが発生
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -4,7 +4,7 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
            Arduino側ではボタンを押すとシリアルモニタに"1"と表示され、押していない時は"0"と表示されるのでUnity側で1という数字を受け取るとonClick.Invoke();が実行されるという流れにしたいです。
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            ### 発生している問題・エラーメッセージ
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
            FormatException: Input string was not in a correct format.
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            ### 該当のソースコード
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
         @@ -17,12 +17,13 @@ 
     | 
|
| 
       17 
17 
     | 
    
         
             
            public class SerialButton : MonoBehaviour {
         
     | 
| 
       18 
18 
     | 
    
         
             
            	public SerialHandler serialHandler;
         
     | 
| 
       19 
19 
     | 
    
         
             
            	public Button itemBox;
         
     | 
| 
      
 20 
     | 
    
         
            +
            	int i;
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
            	// Use this for initialization
         
     | 
| 
       22 
23 
     | 
    
         
             
            	void Start () {
         
     | 
| 
       23 
24 
     | 
    
         
             
            		//信号を受信したときに、そのメッセージの処理を行う
         
     | 
| 
       24 
25 
     | 
    
         
             
            		serialHandler.OnDataReceived += OnDataReceived;
         
     | 
| 
       25 
     | 
    
         
            -
            		int  
     | 
| 
      
 26 
     | 
    
         
            +
            		int i = int.Parse("message");
         
     | 
| 
       26 
27 
     | 
    
         
             
            	}
         
     | 
| 
       27 
28 
     | 
    
         | 
| 
       28 
29 
     | 
    
         
             
            	// Update is called once per frame
         
     | 
| 
         @@ -35,15 +36,12 @@ 
     | 
|
| 
       35 
36 
     | 
    
         
             
            	 */
         
     | 
| 
       36 
37 
     | 
    
         
             
            	void OnDataReceived(string message) {
         
     | 
| 
       37 
38 
     | 
    
         
             
            		try {
         
     | 
| 
       38 
     | 
    
         
            -
            			if( 
     | 
| 
      
 39 
     | 
    
         
            +
            			if(i == 1)
         
     | 
| 
      
 40 
     | 
    
         
            +
            			{
         
     | 
| 
       39 
41 
     | 
    
         
             
            			itemBox.onClick.Invoke();
         
     | 
| 
       40 
42 
     | 
    
         
             
            			}
         
     | 
| 
       41 
43 
     | 
    
         
             
            		} catch (System.Exception e) {
         
     | 
| 
       42 
44 
     | 
    
         
             
            			Debug.LogWarning(e.Message);
         
     | 
| 
       43 
45 
     | 
    
         
             
            		}	
         
     | 
| 
       44 
46 
     | 
    
         
             
            	}
         
     | 
| 
       45 
     | 
    
         
            -
            }
         
     | 
| 
      
 47 
     | 
    
         
            +
            }
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
            ### 試したこと
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
            文字列であるmessageを数字に変換するために記述したint.Parse("123");のソースコード内の別の場所に記述してみましたが変わりませんでした。
         
     |