私は2つの別々のモノハバードを持っています.1つはCardで、4つのスーツの列挙型とスーツとフェースの2つの値のコンストラクタがあります。 2番目のデッキには、各ループのためにカードのインスタンスが作成されています。私の52枚のカードは、forループを使用してenumごとに13枚のカードを作成しますが、インスタンスを作成しようとするとnewは許されず、addcomponentはこれを行う方法ですが、動作させることはできません。まもなく精査のためにコードをアップロードできます。単葉問題
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class Deck : MonoBehaviour
{
public int minVal = 1;
public int maxVal = 13;
List<Card> _cards = new List<Card>();
public void Awake()
{
foreach (var Suit in Enum.GetValues(typeof(Card.Suit)).Cast<Card.Suit>())
{
for (int i = minVal; i <= maxVal; i++)
{
_cards.Add(new Card(Suit, i));
}
}
}
}
これはデッキです。下のカードである:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Card : MonoBehaviour
{
public enum Suit { Clubs, Hearts, Diomonds, Spades };
public Suit suit;
public int faceValue;
public Card(Suit _suit, int _faceValue)
{
suit = _suit;
faceValue = _faceValue;
}
}
"まもなく精査のためにコードをアップロードできます。"常にこれを行います - 必ずしも実際のコードではなく、質問の最初のバージョンを尋ねる前に[mcve] - *コードを記述するだけではほとんど役に立ちません。 –
必要なすべての情報があり、コンストラクタは許可されていないので、addComponentを使用する必要があります。どのような問題がありますか? addComponentを見たことがありますか? – ElDuderino
そして、コメントにコードを入れないでください。質問を編集して正確なエラーメッセージを含めてください。 –