我想显示一个Toast Message.如果我在onCreate()中执行此操作,它可以正常工作.但我想这样做,我得到一个错误:
Java.Lang.NullPointerException:尝试在空对象引用上调用虚方法'android.content.res.Resources android.content.Context.getResources()'
我该怎么办?
public void textToast(string textToDisplay) {
Toast.MakeText(this,
textToDisplay, ToastLength.Long).Show();
}
class SampleTabFragment : Fragment
{
Button add;
MainActivity main = new MainActivity();
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
var view = inflater.Inflate(Resource.Layout.Tab, container, false);
add = view.FindViewById<Button>(Resource.Id.add);
add.Click += Click;
return view;
}
void Click(object sender, EventArgs eventArgs)
{
main.textToast( "I like Toast!");
}
}
Run Code Online (Sandbox Code Playgroud) 我应该使用什么尺寸的纹理,以便在android和桌面上看起来不错,在android上性能也不错?我需要创建为Android纹理和桌面纹理?
我正在使用 Freetype 字体来显示文本。但字体总是看起来:#1不可读(通过减小字体大小):
generator = new FreeTypeFontGenerator(Gdx.files.internal("Fonts/LDFComicSans.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 5;
font = generator.generateFont(parameter); // font size 12 pixels
font.setColor(Color.BLACK);
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
generator.dispose();
Run Code Online (Sandbox Code Playgroud)
generator = new FreeTypeFontGenerator(Gdx.files.internal("Fonts/LDFComicSans.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 30;
font = generator.generateFont(parameter); // font size 12 pixels
font.setColor(Color.BLACK);
font.getData().setScale(0.15F, 0.15F);
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
generator.dispose();
Run Code Online (Sandbox Code Playgroud)
这些是我使用的相机/视口设置:
camera = new OrthographicCamera(1280, 720);
batch = new SpriteBatch();
viewport = new StretchViewport(100,100,camera);
viewport.apply();
Run Code Online (Sandbox Code Playgroud)
我认为这是因为视口太小,但我真的不想改变它。有谁知道如何解决这一问题?
我搜索了一个带有 ui 设计师的 2d android 游戏引擎。Libgdx 很酷,但设计游戏非常困难。但哪个游戏引擎更好呢?德福尔还是柑橘?我认为 Defold 使用 HTML,所以我担心性能是否像 Unity 中一样糟糕。是否有更好的引擎,具有 ui 设计师和良好的性能?
首先,我是c ++的初学者.我正在编写自己的游戏引擎.代码如下.
Sprite.cpp
#include "Sprite.h"
Sprite::Sprite(GLfloat x, GLfloat y, GLfloat width, GLfloat height, Shader& shader, char *texturePath)
{
init(x, y, width, height, shader, texturePath, STBI_rgb_alpha);
}
Sprite::Sprite(GLfloat x, GLfloat y, GLfloat width, GLfloat height, Shader& shader, char *texturePath, int reg_comp)
{
init(x, y, width, height, shader, texturePath, reg_comp);
}
void Sprite::init(GLfloat x, GLfloat y, GLfloat width, GLfloat height, Shader& shader, char *texturePath, int reg_comp)
{
this->shader = &shader;
GLfloat vertices[] = {
width/2+x, height/2+y, 0.0f, /* Top Right */ 1.0f, …
Run Code Online (Sandbox Code Playgroud)