问题描述
我遇到此错误,该错误不断出现在提及以下内容的行中:spriteRenderer = GetComponent<SpriteRenderer>();
和selectable = GetComponent<Selectable>();
“类,结构或接口成员声明中的无效令牌'='。”
问题似乎出在这些行中的等号周围,我不明白问题出在哪里。请问对此有什么建议吗?
void Start()
{
List<string> deck = Solitaire.GenerateDeck();
solitaire = FindobjectOfType<Solitaire>();
int i = 0;
foreach (string card in deck)
{
cardFace = solitaire.cardFaces[i];
break;
}
i++;
}
spriteRenderer = GetComponent<SpriteRenderer>();
selectable = GetComponent<Selectable>();
// Update is called once per frame
void Update()
{
if (selectable.faceUp == true)
{
spriteRenderer.sprite = cardFace;
}
else
{
spriteRenderer.sprite = cardBack;
}
}
解决方法
您似乎正在创建两个将在您的类的方法中使用的对象。您需要在您的类中为此创建一个字段(C#是一种强类型语言,并且需要向编译器解释您要实现的目标)。对于局部变量,可以使用#!/usr/bin/perl
use strict; use warnings;
use Data::Dumper qw(Dumper); #https://perlmaven.com/hash-of-arrays
select(STDERR);
my @BIG;
{
my @tmparray;
my @atsign;
my @EQsign;
push @atsign,'hrdl:raw_:in:__:';
push @EQsign,( '\.(((tex)|(txt))|((TEX)|(TXT)))' );
push @tmparray,[@atsign];
push @tmparray,[@EQsign];
push @BIG,[@tmparray];
}
{
my @tmparray;
my @atsign;
my @EQsign;
push @atsign,'hrdl:raw_:EX:__:i';
push @EQsign,( 'bad words','bad\s*word' );
push @EQsign,( 'forbidden',);
push @tmparray,[@tmparray];
}
print "BIG=\n"; print Dumper \@BIG;
my @extracted_subarray;
@extracted_subarray = pop @BIG;
print "extracted_subarray=\n"; print Dumper \@extracted_subarray;
关键字,但是对于字段,您需要声明完整类型,如下所示:
from collections import namedtuple
Person = namedtuple("Person",["name","age","sex","height","weight"])
John = Person("John",30,"Male",1.85,85)
if John.age > 18:
...
但是,更好的解决方案是将其移到函数var
中:
private SpriteRenderer _spriteRenderer = GetComponent<SpriteRenderer>();
private Selectable _selectable = GetComponent<Selectable>();