所以我嘗試做一個文本框(當然不完全是一個文本框,只是改變SpriteFont類文本)在XNA 4.0雙贏遊戲繼承人到目前爲止我的代碼:XNA文本框環
usernameVar.Draw(spriteBatch, newInputText);
這將吸引每個newInputText串框架
newInputText = username.update(mouse);
,將設置該字符串,但我的繼承人問題
class Textbox
{
public Texture2D texture;
public Rectangle rectangle;
public bool isClicked;
public Textbox(Texture2D newTexture, Rectangle newRectangle)
{
texture = newTexture;
rectangle = newRectangle;
}
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, rectangle, Color.White);
}
public String update(MouseState mouse)
{
Rectangle mouseRectangle = new Rectangle(mouse.X, mouse.Y, 1, 1);
var textboxText = new newText();
if (mouseRectangle.Intersects(rectangle))
{
isClicked = true;
if (isClicked)
{
textboxText.newtext = "a";
Connection.sendPacketBool("ae", textboxText.newtext);
return textboxText.newtext;
}
}
return null;
}
}
class newText
{
public String newtext
{
get
{
return this.newtext;
}
set
{
this.newtext = value;
}
}
}
這textbox.c s文件首先給我一些錯誤,我應該怎麼做才能避免在IF語句之外返回一些內容?
public String update(MouseState mouse)
{
Rectangle mouseRectangle = new Rectangle(mouse.X, mouse.Y, 1, 1);
var textboxText = new newText();
if (mouseRectangle.Intersects(rectangle))
{
isClicked = true;
if (isClicked)
{
textboxText.newtext = "a";
Connection.sendPacketBool("ae", "a");
return "yo";
}
}
return null;
}
從那返回NULL打破我的文本框(我不能添加空文本到SpriteFont類) 另外,如果我刪除返回空加回報「東西」我得到這個錯誤在集合propertie
An unhandled exception of type 'System.StackOverflowException'
對不起,這一點,即時通訊很新的C#和所有這些東西,感謝
當您有無限循環或遞歸時,會發生堆棧溢出。 – ClassicThunder
你如何使用'Update()'方法?這個問題似乎不在該方法之內。 –