当前位置: 首页 > news >正文

西安的电商平台网站建设深圳网站建设公司怎么做

西安的电商平台网站建设,深圳网站建设公司怎么做,天津塘沽网站建设公司,做网站订单Java也可用于开发一些动画。所谓动画#xff0c;就是间隔一定的时间(通常小于0 . 1秒 )重新绘制新的图像#xff0c;两次绘制的图像之间差异较小#xff0c;肉眼看起来就成了所谓的动画 。 ​ 为了实现间隔一定的时间就重新调用组件的 repaint()方法#xff0c;可以借助于…Java也可用于开发一些动画。所谓动画就是间隔一定的时间(通常小于0 . 1秒 )重新绘制新的图像两次绘制的图像之间差异较小肉眼看起来就成了所谓的动画 。 ​ 为了实现间隔一定的时间就重新调用组件的 repaint()方法可以借助于 Swing 提供的Timer类Timer类是一个定时器 它有如下一个构造器 Timer(int delay, ActionListener listener): 每间隔 delay 毫秒系统自动触发 ActionListener 监听器里的事件处理器方法在方法内部我们就可以调用组件的repaint方法完成组件重绘。 案例2 ​ 使用AWT画图技术及Timer定时器完成下图中弹球小游戏。 使用键盘左右键来控制粉色球拍的水平移动小球碰到窗口边界和球拍会反弹并且落到球拍下方就会游戏结束并出现结束界面。 package Draw;import java.awt.*; import java.awt.event.*; import javax.swing.*;public class PinBall {//创建窗口对象private Frame frame new Frame(弹球游戏);//1.设置桌面和球拍各自的宽度和高度private final int TABLE_WIDTH 300;private final int TABLE_HEIGHT 400;private final int RACKET_WIDTH 60;private final int RACKET_HEIGHT 20;//2.设置小球的大小,即小球的直径private final int BALL_SIZE 16;//3.记录小球的坐标//注意坐标原点是窗口左上角private int ballX 120; //并且初始化小球的坐标private int ballY 20;//4.设置小球在X和Y方向上分别移动的速度private int speedY 10;private int speedX 5;//5.记录球拍的坐标private int racketX 120;private final int racketY 340; //球拍的Y坐标一直不变即球拍一直在水平移动//6.游戏是否结束的标识private boolean isOver false;//7.定时器声明一个定时器private Timer timer;//8.画布自定义一个类继承Canvas充当画布//只实现画面的绘制不管游戏逻辑的变换private class MyCanvas extends Canvas {Overridepublic void paint(Graphics g) {//TODO 在这里绘制内容if(isOver){//游戏结束g.setColor(Color.BLUE); //设置字体颜色g.setFont(new Font(Times, Font.BOLD,30)); //设置字体样式g.drawString(游戏结束!,50,200); //设置内容和位置位置大概居中}else {//游戏中//绘制小球g.setColor(Color.RED); //设置小球的颜色g.fillOval(ballX,ballY,BALL_SIZE,BALL_SIZE); //设置小球的坐标和大小//绘制球拍g.setColor(Color.pink); //设置球拍的颜色g.fillRect(racketX,racketY,RACKET_WIDTH,RACKET_HEIGHT); //设置球拍的坐标和大小}}}//9.画笔创建绘画区域MyCanvas drawArea new MyCanvas();public void init() {//组装视图游戏逻辑的控制//如何控制小球和球拍的变换//10.完成球拍坐标的变化通过键盘左右键来实现KeyListener listener new KeyAdapter() {Overridepublic void keyPressed(KeyEvent e) {//获取当前按下的键int keyCode e.getKeyCode();if(keyCode KeyEvent.VK_LEFT) { //这个KeyEvent.VK_LEFT意味这是键盘的左箭头//向左移动//TODOif(racketX 10) racketX 0;else racketX - 10;}if(keyCode KeyEvent.VK_RIGHT) {//向右移动if(racketX (TABLE_WIDTH - RACKET_WIDTH - 10)) racketX TABLE_WIDTH - RACKET_WIDTH;else racketX 10;}}};//给Frame和drawArea注册监听器frame.addKeyListener(listener);drawArea.addKeyListener(listener);//11.小球坐标的控制ActionListener task new ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {//更新小球的坐标重绘界面//根据边界范围修正小球的速度 即碰到边界会反弹if(ballX 0 || ballX (TABLE_WIDTH-BALL_SIZE)) {//碰到左边界和右边界speedX -speedX;}if(ballY 0 || (ballYracketY-BALL_SIZE ballXracketX ballX racketXRACKET_WIDTH)) {//碰到上边界以及碰到球拍判定条件是小球y球拍y并且小球在球拍宽度的范围内speedY -speedY;}if(ballYracketY-BALL_SIZE (ballX racketX || ballX racketXRACKET_WIDTH)){//当前小球超出了球拍能接到的范围游戏结束//停止定时器timer.stop();//修改游戏结束的标记isOver true;//重绘界面drawArea.repaint();}ballX speedX;ballY speedY;//重绘界面drawArea.repaint();}};timer new Timer(100,task); //一百毫秒执行一次timer.start();//组装界面drawArea.setPreferredSize(new Dimension(TABLE_WIDTH,TABLE_HEIGHT));frame.add(drawArea);//设置frame最佳大小和可见性frame.pack();frame.setVisible(true);}public static void main(String[] args) {new PinBall().init();} }
http://www.eeditor.cn/news/123038/

相关文章:

  • 创意专业网站建设做网站的不给源文件
  • 网站设计和建设自考题百度小程序下载
  • 新风格网站外包网址
  • 简洁的网站建设合同做快餐 承包食堂的公司网站
  • xml文件里做网站超链接wordpress模板教程
  • 网站的布局分类电子商务课程视频
  • 个人网站可以做导航做信息浏览的网站策划案
  • 沭阳网站建设招聘东莞市塘厦镇
  • dede网站栏目管理如何建设上海知名的seo推广咨询
  • 常州外贸公司网站建设企业网站建设板块
  • Wordpress 视频采集插件西安市seo排名按天优化
  • 企业网站广告图片轮播代码免费的库存管理软件有哪些
  • 企业网站建设方案ppt制作网页是什么专业
  • 微信上怎么做网站链接钱宝做任务的网站怎么下
  • 最便宜的低价机票网站建设user pro wordpress
  • 怎么添加网站程序小程序api有哪些
  • 龙岗网站建设icxun做店标 做店招的网站
  • 餐饮网站模板免费下载做网站app需多少钱
  • 查找5个搜索引擎作弊的网站公交建设公司官网
  • 系部网站建设标准17网一起做网店潮汕
  • 游戏开发和网站开发莱芜金点子信息港最新招聘信息
  • 茶叶网站建设哪家企业网站的信息内容包括什么
  • 整站系统安阳论坛安钢贴吧
  • 举报网站建设情况vi设计百科
  • 建立网站时服务器的基本配置有哪些深圳网站设计公司发展历程
  • 非洲做网站用哪里服务器好wordpress又拍云
  • 泌阳县住房和城乡建设局网站网站建设一般多少钱app
  • 好的手机网站推荐在广州开发一个营销网站多少钱
  • 电话投放小网站wordpress 小米官网主题下载
  • 网站推广员wordpress tint主题