<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          如何制作動(dòng)畫程序

          作者: 時(shí)間:2012-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

          /**

          *時(shí)鐘的畫面

          */

          publicclassClockCanvasextendsCanvas{

          privateClockTimerTasktimerTask;

          privateTimertimer;

          privatefinalStringIMAGE_PATH=/clock.png;

          privatefinalintCLOCK_WIDTH=150;//時(shí)鐘的畫面寬度

          privatefinalintCENTER_X=5+CLOCK_WIDTH/2;

          privatefinalintCENTER_Y=CLOCK_WIDTH/2;

          privatefinalintHOUR_LENGTH=CLOCK_WIDTH/4;//時(shí)鐘的長(zhǎng)度

          privatefinalintMINUTE_LENGTH=CLOCK_WIDTH*2/5;//分鐘的長(zhǎng)度

          privatefinalintSECOND_LENGTH=CLOCK_WIDTH*2/5;//秒鐘的長(zhǎng)度

          privateImageimg;//畫面的背景

          /**

          *構(gòu)造函數(shù)

          */

          publicClockCanvas(){

          //設(shè)置timer

          timer=newTimer();

          timerTask=newClockTimerTask(this);

          timer.schedule(timerTask,1000,1000);

          //登陸背景畫面

          try{

          img=Image.createImage(IMAGE_PATH);

          }catch(Exceptione){

          e.printStackTrace();

          }

          }

          /**

          *畫時(shí)鐘

          */

          protectedvoidpaint(Graphicsg){

          //背景的設(shè)置

          g.setColor(255,255,255);

          g.fillRect(0,0,getWidth(),getHeight());

          g.drawImage(img,5,0,Graphics.TOP|Graphics.LEFT);

          //獲得時(shí)間

          Calendarcal=Calendar.getInstance();

          inthour=(int)cal.get(Calendar.HOUR);

          inthour_of_day=(int)cal.get(Calendar.HOUR_OF_DAY);

          intminute=(int)cal.get(Calendar.MINUTE);

          intsecond=(int)cal.get(Calendar.SECOND);

          intyear=(int)cal.get(Calendar.YEAR);

          intmonth=(int)cal.get(Calendar.MONTH)+1;

          intday=(int)cal.get(Calendar.DAY_OF_MONTH);

          //顯示時(shí)間

          g.setColor(0,0,200);

          StringdateString=year+/+month+/+day++hour_of_day+:+minute+:+second;

          g.drawString(dateString,CENTER_X,getHeight()-25,Graphics.TOP|Graphics.HCENTER);

          //時(shí)鐘時(shí)針的顯示

          g.setColor(100,100,100);

          inthourAngle=360-30*hour+90;

          if(hourAngle>=360)hourAngle-=360;

          inthourX=CENTER_X+TrigonometricFunctions.COS[hourAngle]*HOUR_LENGTH/TrigonometricFunctions.MULTIPLE;

          inthourY=CENTER_Y-TrigonometricFunctions.SIN[hourAngle]*HOUR_LENGTH/TrigonometricFunctions.MULTIPLE;

          //描繪時(shí)針

          for(inti=-2;i3;i++){

          g.drawLine(CENTER_X+i,CENTER_Y+i,hourX,hourY);

          g.drawLine(CENTER_X-i,CENTER_Y+i,hourX,hourY);

          }

          //分針的顯示

          intminuteAngle=360-6*minute+90;

          if(minuteAngle>=360)minuteAngle-=360;

          intminuteX=CENTER_X+TrigonometricFunctions.COS[minuteAngle]*MINUTE_LENGTH/TrigonometricFunctions.MULTIPLE;

          intminuteY=CENTER_Y-TrigonometricFunctions.SIN[minuteAngle]*MINUTE_LENGTH/TrigonometricFunctions.MULTIPLE;//j`

          //畫分針的范圍

          for(inti=-2;i3;i++){

          g.drawLine(CENTER_X+i,CENTER_Y+i,minuteX,minuteY);

          g.drawLine(CENTER_X-i,CENTER_Y+i,minuteX,minuteY);

          }

          //秒針的顯示

          intsecondAngle=360-6*second+90;

          if(secondAngle>=360)secondAngle-=360;

          intsecondX=CENTER_X+TrigonometricFunctions.COS[secondAngle]*SECOND_LENGTH/TrigonometricFunctions.MULTIPLE;

          intsecondY=CENTER_Y-TrigonometricFunctions.SIN[secondAngle]*SECOND_LENGTH/TrigonometricFunctions.MULTIPLE;

          g.drawLine(CENTER_X,CENTER_Y,secondX,secondY);

          }

          }

          Figure6

          4-3-4

          擴(kuò)展函數(shù)

          在本講中的模擬表應(yīng)用是實(shí)現(xiàn)了表的最小功能的示范應(yīng)用。在本應(yīng)用中,也可以自己增加鬧鐘和跑秒等擴(kuò)展功能,這些自己都嘗試一番哦。

          4-4總結(jié)

          在本講中我們講述了應(yīng)用程序的具體方法。使用,就要對(duì)畫像賦予動(dòng)感,這比游戲還要復(fù)雜,所以應(yīng)該能夠圖表應(yīng)用程序。要運(yùn)行,線據(jù)和秒表是不可缺少的基本技術(shù),但是線據(jù)知識(shí)是一門深?yuàn)W的技術(shù)。參照本講中的樣品,加深線據(jù)方面的知識(shí),就能夠制作成不錯(cuò)的應(yīng)用程序。在下一講中,我們將就效果音和BGM、聲音等技術(shù)進(jìn)行詳細(xì)講解。敬請(qǐng)關(guān)注!

          4-3-4完成

          以下是所制作的程序的源碼。

          Clock.java

          ClockCanvas.java

          ClockTimerTask.java

          TrigonometricFunctions.java



          關(guān)鍵詞: 程序 動(dòng)畫 制作 如何

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();