spacescene.java

来自「java learn PPT java learn PPT java learn」· Java 代码 · 共 65 行

JAVA
65
字号
     import java.awt.*;
     import java.awt.geom.*;
     import java.util.*;

     // 基础的可以滚动的场景
     public class SpaceScene extends Scene 
     {
          // 场景中的物体
          protected StaticActor[] scenery;

          public SpaceScene(Rectangle2D view)
          {
               super(view, view);

               scenery = null;
          }

          public void setScenery(StaticActor[] v)
          {
               scenery = v;
          }

          // 移动场景中的物体
          public void update()
          {
               if(scenery == null) return;

               for(int i = 0; i < scenery.length; i++)
               {
                    if(scenery[i] != null)
                    {
                         // 在物体离开场景后让它再次转回来
                         if(scenery[i].getX() <= -scenery[i].getWidth())
                         {
                              // 为下一帧准备scenery                   
                              scenery[i].setX(scenery[i].getX() + scenery[i].getWidth());
                         }
                         scenery[i].update();
                    }
               }
          }

                             
          public void paint(Graphics2D g2d)
          {
               if(scenery == null) return;

 

               for(int i = 0; i < scenery.length; i++)
               {
                    if(scenery[i] != null)
                    {
                         scenery[i].paint(g2d);

                         // 如果物体不是完全在边界内则将它添加到自身上 
                         if(scenery[i].getX() + scenery[i].getWidth() < bounds.getWidth())
                         {
                              scenery[i].paint(g2d, scenery[i].getX() + scenery[i].getWidth(), scenery[i].getY());
                         }
                    }
               }
          }

     }    // SpaceScene

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?