Проблема с интерфейсом в игровом проекте XNA

#c# #xna #2d

#c# #xna #2d

Вопрос:

Вот часть моего кода:

 using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Content;

.
.
.

    public virtual bool CheckCollision(ICollidable i_Source)
    {
        bool collided = false;
        ICollidable2D source = i_Source as 2DICollidable; 
        if (source != null)
        {
            collided = source.Bounds.Intersects(this.Bounds);
        }

        return collided;
    }
  

По какой-то причине возникает ошибка при использовании ICollided2D.
Почему он не распознает переменную такого типа? Я пропустил какое-либо сообщение «using»?

Комментарии:

1. Вам следует быть более точным. Какое сообщение об ошибке вы получаете?

2. Вы имеете в виду ошибку компиляции? (получено при попытке скомпилировать код) или ошибка времени выполнения при фактическом его выполнении?

Ответ №1:

Либо это ошибка ввода:

ICollidable2D source = i_Source as 2DICollidable;

Или вы пропустили _ перед 2DICollidable , так что это становится _2DICollidable , поскольку вы не можете начать идентификатор с числа.

Ответ №2:

2разрешимый

Что это? Я не думаю, что обычные идентификаторы могут начинаться с числа. Черт возьми, даже ЕСЛИ код выделен красным цветом.