'类,结构或接口成员声明中的无效令牌'='统一脚本中有两行错误

问题描述

我遇到此错误,该错误不断出现在提及以下内容的行中: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>();