山东青岛安卓培训就业中心 专业Android软件工程师培训,手机软件开发人才就业实训中心0532-85025005

Android游戏引擎libgdx使用教程:常用UI类与舞台(四)

 

  然后再看看CheckBox。CheckBox的样式定义在CheckBoxStyle中,需要4个参数,两种状态的各一张图片,一个BitmapFont和Color。

       这里我再添加一张图片:

Android游戏引擎libgdx使用教程5:常用UI类与舞台

       原理差不多,直接贴代码了。

Java代码
  1. package com.cnblogs.htynkn.listener;    

  2. import android.graphics.Paint.Align;    

  3. import com.badlogic.gdx.ApplicationListener;    

  4. import com.badlogic.gdx.Gdx;    

  5. import com.badlogic.gdx.graphics.Color;    

  6. import com.badlogic.gdx.graphics.GL10;    

  7. import com.badlogic.gdx.graphics.Texture;    

  8. import com.badlogic.gdx.graphics.g2d.BitmapFont;    

  9. import com.badlogic.gdx.graphics.g2d.NinePatch;    

  10. import com.badlogic.gdx.graphics.g2d.TextureRegion;    

  11. import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment;    

  12. import com.badlogic.gdx.scenes.scene2d.Actor;    

  13. import com.badlogic.gdx.scenes.scene2d.Stage;    

  14. import com.badlogic.gdx.scenes.scene2d.actors.Label;    

  15. import com.badlogic.gdx.scenes.scene2d.ui.Button;    

  16. import com.badlogic.gdx.scenes.scene2d.ui.CheckBox;    

  17. import com.badlogic.gdx.scenes.scene2d.ui.ClickListener;    

  18. import com.badlogic.gdx.scenes.scene2d.ui.Button.ButtonStyle;    

  19. import com.badlogic.gdx.scenes.scene2d.ui.CheckBox.CheckBoxStyle;    

  20. public class FirstGame implements ApplicationListener {    

  21. private Stage stage;    

  22. Label label;    

  23. Texture texture1;    

  24. Texture texture2;    

  25. CheckBox checkBox;    

  26. @Override    

  27. public void create() {    

  28. stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(),    

  29. true);    

  30. texture1 = new Texture(Gdx.files.internal("06.png"));    

  31. texture2 = new Texture(Gdx.files.internal("07.png"));    

  32. NinePatch n1 = new NinePatch(texture1, 7799);    

  33. BitmapFont bitmapFont = new BitmapFont(Gdx.files.internal("cf.fnt"),    

  34. Gdx.files.internal("cf.png"), false);    

  35. label = new Label("fpsLabel", bitmapFont, "label1");    

  36. label.x = 5;    

  37. label.y = Gdx.graphics.getHeight() - label.height - 5;    

  38. CheckBoxStyle style = new CheckBoxStyle(new TextureRegion(texture1),    

  39. new TextureRegion(texture2), bitmapFont, new Color(111,    

  40. 0.5f));    

  41. checkBox = new CheckBox("checkbox", style, "checkbox");    

  42. checkBox.x = 100;    

  43. checkBox.y = 100;    

  44. checkBox.width = 158f;    

  45. checkBox.height = 32f;    

  46. checkBox.setText("Yes");    

  47. checkBox.setClickListener(new ClickListener() {    

  48. @Override    

  49. public void click(Actor actor) {    

  50. if (checkBox.isChecked) {    

  51. checkBox.setText("Yes");    

  52. else {    

  53. checkBox.setText("NO");    

  54. }    

  55. }    

  56. });    

  57. stage.addActor(checkBox);    

  58. stage.addActor(label);    

  59. Gdx.input.setInputProcessor(stage);    

  60. }    

  61. @Override    

  62. public void dispose() {    

  63. stage.dispose();    

  64. }    

  65. @Override    

  66. public void pause() {    

  67. // TODO Auto-generated method stub    

  68. }    

  69. @Override    

  70. public void render() {    

  71. Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);    

  72. label.setWrappedText("FPS: " + Gdx.graphics.getFramesPerSecond(),    

  73. HAlignment.CENTER);    

  74. stage.act(Gdx.graphics.getDeltaTime());    

  75. stage.draw();    

  76. }    

  77. @Override    

  78. public void resize(int width, int height) {    

  79. // TODO Auto-generated method stub    

  80. }    

  81. @Override    

  82. public void resume() {    

  83. // TODO Auto-generated method stub    

  84. }    

  85. }  

       效果:

Android游戏引擎libgdx使用教程5:常用UI类与舞台Android游戏引擎libgdx使用教程5:常用UI类与舞台

       其他的UI大致用法差不多,显示的样式在对应的Style或者Skin中定义。但是要注意有些UI类需要手动设置width和height,不然有些显示会很奇怪的。

 

留言列表
来宾
来宾 文章说的不错赞一个!语音群呼www.huixun35.com,注册送20分钟体验。
来宾
来宾 文章说的不错赞一个!语音群呼系统www.huixun35.com,注册送20分钟体验。
发表留言
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。