欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Unity3d射擊游戲報(bào)告

      時(shí)間:2019-05-12 08:37:05下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《Unity3d射擊游戲報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《Unity3d射擊游戲報(bào)告》。

      第一篇:Unity3d射擊游戲報(bào)告

      Unity3D游戲開(kāi)發(fā)

      課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告

      項(xiàng)目名稱 GoldCoinGame 班 級(jí) 11402 小組成員唐智 梁俊龍薛柯 高立存 姓 名唐智 學(xué) 號(hào)1404240717

      1.游戲說(shuō)明

      游戲運(yùn)行畫(huà)面:

      游戲目標(biāo):收集八個(gè)硬幣,得到的硬幣數(shù)量會(huì)顯示在右上角。

      游戲菜單:按esc顯示,有三個(gè)選項(xiàng):繼續(xù)游戲,重新開(kāi)始和退出游戲。

      操作:WASD控制方向,12切換武器,r填裝彈藥,空格space跳躍。

      步槍狀態(tài)下: 鼠標(biāo)右鍵——瞄準(zhǔn)

      手槍狀態(tài)下: 鼠標(biāo)右鍵——消音器

      2.游戲素材來(lái)源:

      1.開(kāi)火音效:手槍與步槍開(kāi)火音效來(lái)源于課堂上的實(shí)驗(yàn):Fps游戲中的MachineGun開(kāi)火音效。裝彈音效:來(lái)源于網(wǎng)絡(luò)。

      2.SkyBox,水,Terrain的草地和椰樹(shù)等來(lái)源于課堂上的實(shí)驗(yàn):Survivalland。

      3.工廠模型Hangar_Full:來(lái)源于網(wǎng)絡(luò)。

      Cube的貼圖:來(lái)源于網(wǎng)絡(luò)。

      4.步槍和手槍模型及其動(dòng)畫(huà):來(lái)源于網(wǎng)絡(luò)。

      5.金幣模型,塑料凳模型:使用3dmax軟件自制。

      6.顯示金幣數(shù)量的CoinGUI的9張圖片:采用Windows畫(huà)圖軟件繪制。

      3.Unity版本:

      Unity 5.5.2f1(64-bit)

      4.操作步驟

      1.首先創(chuàng)建環(huán)境,CreatEmpty——Environment,將課堂上做過(guò)的水的預(yù)制體 DaylightWater放入到其下。

      2.創(chuàng)建一個(gè)Terrain和三個(gè)DirectionalLight。

      3.地形的凸起和凹陷操作界面

      4地形的貼圖操作界面

      5.設(shè)置樹(shù)木和草地。

      7.調(diào)整好光線角度,再把工廠預(yù)制體拖到小島上。效果預(yù)覽

      8.創(chuàng)建一個(gè)Empty,給它添加Capsule,MeshRenderer,CharacherController,和Rigibody。(MouseLook和CharacterMotor以及Fpsinput均是課堂上使用過(guò)的例子,之后會(huì)用到)

      9.將Empty命名為MyFirstPersonController,將tag改為Player。把主攝像機(jī)移動(dòng)到該目錄下。

      10.在攝像機(jī)maincamera下添加如下的Empty:weapon——m4a1、handgun,用來(lái)存放武器。此外,再給camera添加skybox,選取合適的天空盒。

      11.weapon添加一個(gè)js文件playerweapon,將步槍和手槍的預(yù)制體分別加到m4a1和handgun下。

      Playerweapon.js主要控制武器的基本操作:開(kāi)火,換彈和切換武器。function Update(){

      if(Input.GetButton(“Fire1”)){

      BroadcastMessage(“fire”);//對(duì)子類(lèi)發(fā)送fire的信息,從而達(dá)到調(diào)用所有名為fire函數(shù)的效果 }

      if(Input.GetButton(“reload”)){

      BroadcastMessage(“reload”);}

      if(Input.GetKeyDown(“1”)){

      BroadcastMessage(“draw”);//按1時(shí)播放動(dòng)畫(huà) SelectWeapon(0);}

      else if(Input.GetKeyDown(“2”)){ SelectWeapon(1);} } function SelectWeapon(index : int){

      for(var i=0;i

      // Activate the selected weapon

      if(i == index)

      transform.GetChild(i).gameObject.SetActive(true);

      // Deactivate all other weapons

      else

      transform.GetChild(i).gameObject.SetActive(false);}

      }//切換武器的函數(shù)

      12.給empty添加m4_preview,該文件主要負(fù)責(zé)步槍的子彈數(shù)量和開(kāi)火音效播放,以及步槍的裝彈。之后添加audiosource,選擇開(kāi)火的子彈發(fā)射音效文件。

      13.添加一個(gè)UI----canvas,加入兩個(gè)text,用來(lái)顯示兩把武器的子彈數(shù)目。

      M4_preview的主要函數(shù): function Update(){

      GameObject.Find(“/Canvas/Text”).GetComponent(Text).text=“ :”+ bulletsLeft+“/∞”;//該函數(shù)可以將步槍子彈數(shù)量傳遞給text }

      function fire(){

      if(bulletsLeft == 0)

      return;

      if(Time.timeTime.deltaTime;

      // Keep firing until we used up the fire time

      while(nextFireTime < Time.time && bulletsLeft!= 0){ GetComponent.().Play();//每發(fā)射一枚子彈,就播放一次開(kāi)火的音效

      FireOneShot();

      nextFireTime += fireRate;}

      Update();//實(shí)現(xiàn)開(kāi)槍后刷新text的子彈數(shù)量 }

      function FireOneShot(){

      var direction = transform.TransformDirection(Vector3.forward);

      var hit : RaycastHit;

      if(Physics.Raycast(transform.position, direction, hit, range)){

      // Apply a force to the rigidbody we hit

      if(hit.rigidbody)

      hit.rigidbody.AddForceAtPosition(force * direction, hit.point);

      if(hitParticles){

      hitParticles.transform.position = hit.point;hitParticles.transform.rotation =

      Quaternion.FromToRotation(Vector3.up, hit.normal);hitParticles.Emit();}

      // Send a damage message to the hit object

      hit.collider.SendMessageUpwards(“ApplyDamage”, damage,SendMessageOptions.DontRequireReceiver);}

      bulletsLeft--;

      m_LastFrameShot = Time.frameCount;enabled = true;

      // Reload gun in reload Time

      if(bulletsLeft == 0)

      BroadcastMessage(“reload”);//沒(méi)有子彈后自動(dòng)裝彈

      }

      function reload(){

      yield new WaitForSeconds(1);//裝彈等待時(shí)間

      if(clips > 0){ //彈夾數(shù)量大于0時(shí)才可裝彈

      clips--;

      bulletsLeft = bulletsPerClip;

      }

      Update();//裝彈完成后更新text顯示的子彈數(shù)量

      yield new WaitForSeconds(1);}

      14.步槍的預(yù)制體m4animation,m4.js主要負(fù)責(zé)步槍的開(kāi)火、裝彈等動(dòng)畫(huà)播放。給它添加一個(gè)audiosource,選擇下載的武器換彈音效。

      15.手槍的步驟和步槍類(lèi)似,就不在闡述,不同處如需要修改開(kāi)火的速率(firerate)等參數(shù)即可。

      16.添加兩個(gè)武器的貼圖到顯示彈藥的text的左側(cè),再添加一張背景圖,調(diào)整好位置后效果如圖:

      17.添加菜單:在canvas中添加一個(gè)panel,在panel下添加三個(gè)button,分別對(duì)應(yīng)退出,重新開(kāi)始和繼續(xù),再添加一個(gè)text,內(nèi)容為 “已暫停”。

      18.添加一個(gè)empty命名為_(kāi)GM,給他添加Manager.cs,一個(gè)負(fù)責(zé)菜單的文件。

      其主要部分如下:

      void Start(){

      UIPanel.gameObject.SetActive(false);isPaused = false;}

      void Update(){

      if(Input.GetKeyDown(KeyCode.Escape)&&!isPaused)Pause();

      else if(Input.GetKeyDown(KeyCode.Escape)&& isPaused)UnPause();}

      public void Pause(){

      isPaused = true;

      UIPanel.gameObject.SetActive(true);

      Time.timeScale = 0f;}

      public void UnPause(){

      isPaused = false;

      UIPanel.gameObject.SetActive(false);

      Time.timeScale = 1f;}

      public void QuitGame(){

      Application.Quit();}

      public void Restart(){

      Application.LoadLevel(0);

      }

      主要負(fù)責(zé)對(duì)應(yīng)菜單的按鈕的功能

      之后,給三個(gè)按鈕加上相應(yīng)的貼圖和文字,在OnClick一欄中,選擇_GM,在右側(cè)下拉選擇之前manager中對(duì)應(yīng)的函數(shù),比如退出游戲的Quit按鈕就選擇QuitGame。另外,編輯Panel的image,可以更改菜單的背景圖片。

      效果如圖

      19.建立cube的預(yù)制體:創(chuàng)建一個(gè)3dobject,建立一個(gè)cube,再放在預(yù)制體的文件夾perfabs里,再更改cube的貼圖為黑色,命名為cube_dead,同樣拖入perfabs中。

      給預(yù)制體cube添加一個(gè)DamageReciver,使它能接收到子彈的傷害,從而從cube轉(zhuǎn)換成cube_dead。

      同時(shí),勾選中iskinematic,讓這個(gè)預(yù)制體被子彈擊中前不受到里的影響,這樣可以把cube懸空而不掉落,而變成cube_dead則會(huì)掉落。

      20.把制作的coin模型導(dǎo)入,添加剛體,同樣勾選iskinematic,并加入CapsuleCollider,勾選isTrigger,最后關(guān)聯(lián)Coin.cs。

      void Update(){

      transform.Rotate(new Vector3(rotationSpeed * Time.deltaTime, 0, 0));}

      void OnTriggerEnter(Collider col){

      if(col.gameObject.tag == “Player”){

      col.gameObject.SendMessage(“itemPickup”);Destroy(gameObject);} }

      分析:

      硬幣沒(méi)被拾取時(shí),會(huì)沿著x軸旋轉(zhuǎn)

      玩家觸碰到coin時(shí),會(huì)傳遞一個(gè)信息itemPickup,提示該硬幣已經(jīng)被拾取,之后會(huì)銷(xiāo)毀該硬幣。

      21.回到第一人稱控制器,給MyFirstPersocontroller添加腳本item,選擇金幣拾取音效、拾取貼圖。創(chuàng)建并添加提示文字GUItext。

      創(chuàng)建一個(gè)empty命名為CoinGUI,添加guitexture,選擇image為coin0,即沒(méi)有失去硬幣時(shí)候的顯示圖。Coin到Coin8依次對(duì)應(yīng)獲得八個(gè)硬幣的顯示圖。

      22.準(zhǔn)星的添加:創(chuàng)建一個(gè)empty,添加crosshair腳本,將網(wǎng)上下載的準(zhǔn)星貼圖添加進(jìn)來(lái)。

      大致的步驟就如上所述。

      小組成員:唐智

      主要負(fù)責(zé)部分:武器模塊和esc菜單模塊以及實(shí)驗(yàn)報(bào)告的編寫(xiě)。

      武器的部分是由我制作的,相對(duì)于我們課堂上制作的火箭筒和步槍,這個(gè)項(xiàng)目里面多了reload這個(gè)動(dòng)作,并且是可以主動(dòng)按r來(lái)reload的(課堂上的項(xiàng)目只能打空彈匣來(lái)?yè)Q彈)。

      開(kāi)始時(shí),我在原來(lái)的腳本基礎(chǔ)上修改代碼,想把調(diào)用動(dòng)畫(huà)的代碼也寫(xiě)進(jìn)計(jì)算子彈fire和reload的代碼中,但是出現(xiàn)了很多問(wèn)題:如動(dòng)畫(huà)不能正常播放、或是播放了動(dòng)畫(huà)不開(kāi)火等。

      最后,我將這兩個(gè)部分的腳本分開(kāi)到兩個(gè)目標(biāo)上,解決了這些問(wèn)題。第二個(gè)小問(wèn)題,就是裝彈后子彈數(shù)量沒(méi)有實(shí)時(shí)更新到text里面,但是開(kāi)火后子彈數(shù)量會(huì)重新刷新。這個(gè)問(wèn)題通過(guò)在reload函數(shù)末添加了顯示子彈數(shù)的代碼后解決。

      這次在原來(lái)的游戲基礎(chǔ)上新添加了esc菜單這一功能,腳本使用c++編寫(xiě)。在操作完后要注意的是需要完成File—buildsetting—add openscenes 這樣才算是完成,因?yàn)?Application.LoadLevel(0);這句代碼中的0就是代表著我們add的這個(gè)場(chǎng)景位于第一位,這樣restart按鈕才能進(jìn)入到這個(gè)場(chǎng)景的初始階段,達(dá)到重新開(kāi)始的目的。

      第二篇:射擊游戲

      射擊游戲

      ?編號(hào):SJYX1?名稱:近軌道先鋒

      ?大小:20MB?適用固件:4.0固件及以上

      ?游戲由13個(gè)游戲關(guān)卡和5個(gè)不同的場(chǎng)景組成。玩家在游戲中可以使用狙擊槍、等離子槍、火箭發(fā)射器和手榴彈等6種不同的武器裝備。

      ?游戲包含單人模式和多人模式,其還支持玩家通過(guò)WiFi/藍(lán)牙進(jìn)行在線或聯(lián)機(jī)游戲。

      ?編號(hào):SJYX2?名稱:近軌道先鋒

      ?大小:222MB?適用固件:3.1.2固件及以上

      ?游戲的劇情為軍國(guó)主義?;庶h人囚禁了你們的領(lǐng)袖,并在銀河中散播恐怖展開(kāi)激戰(zhàn),而你是一名王牌明星飛行員。你需要率領(lǐng)反抗軍戰(zhàn)機(jī)隊(duì),加入到高強(qiáng)度模擬空戰(zhàn)中與他們決一死戰(zhàn)。反抗軍和保皇黨之間的戰(zhàn)爭(zhēng)將會(huì)貫穿整個(gè)太空,橫跨數(shù)個(gè)星系,這一切都將由全高清畫(huà)面所呈現(xiàn)。你將會(huì)在極富未來(lái)感的城市、叢林、沙漠和冰山中戰(zhàn)斗。

      ?單人游戲運(yùn),行流暢,操作簡(jiǎn)便多人游戲部分則支持雙人對(duì)戰(zhàn)(藍(lán)牙/WiFi)。

      ?編號(hào):SJYX3?名稱:生死9毫米

      ?大?。?33MB?適用固件:3.1.3固件及以上

      ?游戲集成了俠盜系列犯罪游戲的內(nèi)容,包括幫派、槍?xiě)?zhàn)等常見(jiàn)的犯罪元素,不過(guò)游戲的主角看起來(lái)更像是警察的臥底,《9毫米》明顯的表現(xiàn)出俠盜類(lèi)游戲的風(fēng)格,自由的駕駛、打架、槍?xiě)?zhàn),畫(huà)面充斥暴力、金錢(qián)與毒品。

      ?本地或者在線的死亡對(duì)戰(zhàn)或者團(tuán)隊(duì)死亡對(duì)戰(zhàn)、支持最多12名玩家進(jìn)行對(duì)戰(zhàn)、4張不同的地圖以及16種不同的武器和多種的武器性能升級(jí)

      ?編號(hào):SJYX4?名稱:戰(zhàn)地:叛逆連隊(duì)

      2?大?。?34MB?適用固件:3.0固件及以上

      ?將會(huì)橫跨5個(gè)不同區(qū)域、多達(dá)14個(gè)單人任務(wù)。將會(huì)在叢林、沙漠和雪地之中進(jìn)行。同時(shí)游戲還將會(huì)包含多人在線模式,可以通過(guò)聯(lián)網(wǎng)進(jìn)行小隊(duì)作戰(zhàn),最多支持4名玩家通過(guò)3G、Wifi、OTA聯(lián)機(jī),進(jìn)行TDM和DM多人模式。

      ?游戲注重體現(xiàn)現(xiàn)代戰(zhàn)爭(zhēng)的真實(shí)性,玩家可破壞各種場(chǎng)景物品,能對(duì)建筑物框架進(jìn)行破壞。同時(shí)注重小隊(duì)配合作戰(zhàn)也是《叛逆連隊(duì)2》的特點(diǎn)

      ?編號(hào):SJYX5?名稱:恐龍戰(zhàn)士

      ?大?。?60MB?適用固件:3.0固件及以上

      ?還有這3種游戲模式,你可以和多達(dá)4個(gè)人一起進(jìn)行多人游戲哦

      ?Nanosaur 2是一款3D風(fēng)格的飛行射擊游戲,游戲采用重力感應(yīng)控制

      ?游戲中需要要小心的操控飛行,注意炮塔、迅猛龍或其他恐龍的攻擊。超過(guò)地圖的空間還是會(huì)撞壁爆炸的.哦

      ?編號(hào):SJYX6?名稱:秘密行動(dòng)

      ?大?。?57MB?適用固件:3.0固件及以上

      ?在游戲中,玩家會(huì)扮演三名不同的特工,每個(gè)人都擁有自己不同的能力。?多人模式也可讓你和朋友組隊(duì)(本地藍(lán)牙)。

      ?秘密行動(dòng)是以世界諜戰(zhàn)為基礎(chǔ)的動(dòng)作游戲,橫跨日內(nèi)瓦,杜布羅夫尼克,香港等地區(qū)來(lái)完成各種富有挑戰(zhàn)性的任務(wù)。

      ?編號(hào):SJYX7?名稱:戰(zhàn)地:叛逆連隊(duì)

      ?大小:257MB?適用固件:3.0固件及以上

      ?五張各式的地圖和三種不同模式(自由戰(zhàn),團(tuán)隊(duì)死亡戰(zhàn),控制戰(zhàn))下與多至5位好友聯(lián)機(jī)作戰(zhàn)。還可以直接通過(guò)藍(lán)牙進(jìn)行本地聯(lián)機(jī),或通過(guò)Wi-Fi聯(lián)網(wǎng)與世界各地的朋友們對(duì)戰(zhàn)。

      ?操縱包括坦克、越野車(chē)和滑翔機(jī)在內(nèi)的3種交通工具來(lái)干掉敵人,或進(jìn)行成功逃離。武器還可以用機(jī)槍、火箭筒、狙擊步槍及火焰噴射器等多種真實(shí)二戰(zhàn)武器。

      ?編號(hào):SJYX8?名稱:現(xiàn)代戰(zhàn)爭(zhēng)2黑色飛馬

      ?大?。?66MB?適用固件:3.1.2固件及以上

      ?玩家將操縱3名可操縱角色之一,投身到橫跨中東、東歐與南美的12大戰(zhàn)場(chǎng)中去。臉部細(xì)節(jié)動(dòng)畫(huà)以及慢動(dòng)作瞬殺帶來(lái)令人屏息的緊張?bào)w驗(yàn)。15種真實(shí)軍用武器可供使用,您可以直接從敵人處獲取,也可利用數(shù)種附件對(duì)其進(jìn)行升級(jí)。中彈或遭受其他傷害時(shí)畫(huà)面產(chǎn)生模糊效果、武器上展現(xiàn)動(dòng)態(tài)光影都營(yíng)造出真實(shí)的戰(zhàn)爭(zhēng)體驗(yàn)。多人游戲方面,支持最多10名玩家可同時(shí)參與在線與本地對(duì)抗。

      ?編號(hào):SJYX9?名稱:戰(zhàn)列艦

      ?大小:20MB?適用固件:3.1.2固件及以上

      ?一款經(jīng)典戰(zhàn)艦游戲,指揮你的軍艦,將對(duì)手擊沉,具有多種不同的游戲模式,并支持多人對(duì)戰(zhàn)。通過(guò)巧妙的部署戰(zhàn)艦,避開(kāi)敵方部隊(duì)的探測(cè);運(yùn)用火力偵察鎖定敵船,將它送入海底!讓你如臨其境的逼真炮聲,以及無(wú)線電中不時(shí)響起的呼叫!你所熟知并鐘愛(ài)的戰(zhàn)艦,都將真實(shí)展現(xiàn)在你面前

      ?編號(hào):SJYX10?名稱:合金風(fēng)暴

      ?大?。?0MB?適用固件:3.1.2固件及以上

      ?實(shí)時(shí)多人-支持3G和Wi-Fi同其他玩家聯(lián)機(jī)比賽,生存模式:在合作多人模式下與朋友合作或單人多次消滅敵人,回旋裝置允許通過(guò)iPhone 4和iPod touch四代裝置進(jìn)行精確控制

      ?高解析支持的下一代3D圖像、眾多飛行器可供選擇、自定義飛行器導(dǎo)彈和機(jī)槍 ?不同方向擊打,執(zhí)行高難度機(jī)動(dòng)動(dòng)作、3D空間全360度飛行

      ?編號(hào):SJYX11?名稱:鋼鐵大戰(zhàn)

      ?大小:20MB?適用固件:3.1.2固件及以上

      ?一個(gè) 3D平面射擊游戲,游戲單人戰(zhàn)斗有 3 種不同的模式,多達(dá) 32 個(gè)關(guān)卡,多人戰(zhàn)斗最多可支持 4 人 WIFI 連接,玩家需在遙遠(yuǎn)的鋼鐵星球上為了最強(qiáng)名號(hào)的榮譽(yù)而戰(zhàn),其精彩的戰(zhàn)斗射擊場(chǎng)景定能讓你熱血澎湃。喜歡火爆刺激的射擊游戲?想體驗(yàn)與對(duì)手猛烈互擊,在槍林彈雨之中狂奔躲閃然后消滅對(duì)手的快感么?那么可以試試這款《Iron Wars》,雖然游戲里你將成為一個(gè)鋼鐵圓球……

      ?編號(hào):SJYX12?名稱:三國(guó)殺

      ?大?。?0MB?適用固件:IOS4固件及以上

      ?這是一個(gè)交織著扮演、推理、典故的游戲,充滿著智慧的搏殺、人性的對(duì)決,符合中國(guó)人的審美情趣和娛樂(lè)需求。

      ?三國(guó)殺online是移植三國(guó)殺實(shí)體紙牌的正統(tǒng)之作,由盛大邊鋒的研發(fā),力圖帶來(lái)最完美的三國(guó)殺游戲體驗(yàn)。游戲嚴(yán)格遵循官方設(shè)定的規(guī)則和邏輯,并根據(jù)最新的動(dòng)態(tài)進(jìn)行實(shí)時(shí)調(diào)整,保證您能第一時(shí)間玩到原汁原味、專業(yè)嚴(yán)謹(jǐn)?shù)娜龂?guó)殺。

      ?編號(hào):SJYX13?名稱:牛仔神槍手

      ?大?。?0MB?適用固件:IOS4固件及以上

      ?Cowboy Guns HD在很多設(shè)計(jì)上比較獨(dú)特,比如80度的俯視角,樂(lè)高造型人物,雙搖桿操作方式,帶點(diǎn)復(fù)古粗獷色彩的3D場(chǎng)景構(gòu)架,再加上濃烈的美國(guó)西部風(fēng)情,這些要素都吸引著玩家很好地代入到游戲角色中去。

      第三篇:大實(shí)驗(yàn)射擊游戲(本站推薦)

      嵌入式Linux應(yīng)用程序開(kāi)發(fā)

      期末結(jié)課實(shí)驗(yàn)

      基于QT的射擊游戲

      學(xué)號(hào):1411640407 姓名:林向東 班級(jí):計(jì)算機(jī)1404班 學(xué)院:計(jì)算機(jī)科學(xué)與軟件學(xué)院

      【實(shí)驗(yàn)?zāi)康摹?/p>

      1、掌握Qt下繪圖函數(shù)的使用方法;

      2、掌握標(biāo)簽(Label)、段碼液晶(LCDNumber)、滑動(dòng)條(Slider)等部件的應(yīng)用;

      3、掌握Qt下不同坐標(biāo)系的轉(zhuǎn)換。

      4、掌握通過(guò)源代碼重構(gòu)工程并編譯的方法

      【實(shí)驗(yàn)設(shè)備】

      1、裝有Ubuntu系統(tǒng)或裝有Ubuntu虛擬機(jī)的PC機(jī)一臺(tái);

      2、凌陽(yáng)A8嵌入式實(shí)驗(yàn)箱一臺(tái);

      3、本實(shí)驗(yàn)用到實(shí)驗(yàn)箱的模塊有:S5PV210 CPU板模塊,LCD液晶屏。

      【實(shí)驗(yàn)要求】

      完成一個(gè)射擊小游戲,這是4.7.0之前的版本的Qt源碼中自帶的一個(gè)范例

      序,具

      在qtopia-core-opensource-src-4.3.5examplestutorialt14。雖然在4.7.0之后的版本中刪掉了這個(gè)范例,但是通過(guò)這個(gè)實(shí)例,可以使讀者深入理解QT信號(hào)與槽,變換坐標(biāo)系等較深層內(nèi)容。運(yùn)行后游戲界面如圖。

      【實(shí)驗(yàn)原理】

      1、Qpainter QPainter類(lèi)低水平的繪制,例如在窗口部件上。使用Qpainter類(lèi),需要包含頭文件繪制工具為做到絕大部分繪制圖形用戶界面程序的需要提供了高度優(yōu)化的函數(shù)。QPainter可以繪制從簡(jiǎn)單的直線到像餅圖和弦這樣的復(fù)雜形狀。它也可以繪制排列的文本和像素映射。通常,它在一個(gè)“自然的”坐標(biāo)系統(tǒng)中繪制,但是它也可以在坐標(biāo)系轉(zhuǎn)換中做到這些。

      使用方法很簡(jiǎn)單并且這里有可以使用的許多設(shè)置:font()返回當(dāng)前設(shè)置的字體、setFont()設(shè)置要使用的字體。如果你設(shè)置一個(gè)不可用的字體,Qt會(huì)找到一個(gè)相近的匹配。實(shí)際上,font()返回你使用setFont()所設(shè)置的東西并且fontInfo()返回你實(shí)際使用的字體(這也許是相同的)。brush()是當(dāng)前設(shè)置的畫(huà)刷,用來(lái)填充例如圓的顏色或者調(diào)色板。pen()是當(dāng)前設(shè)置的畫(huà)筆,用來(lái)畫(huà)線或者邊緣的顏色或者點(diǎn)畫(huà)。painter的當(dāng)前狀態(tài)能通過(guò)調(diào)用save()和稍后調(diào)用restore()存儲(chǔ)在stack中.當(dāng)我們需要臨時(shí)改變一些painter settings并要恢復(fù)到以前的狀態(tài)時(shí),這個(gè)功能是很有用的.QPainter的核心功能是繪制,并且這里有最簡(jiǎn)單的繪制函數(shù):drawPoint()、drawPoints()、drawLine()、drawRect()、drawWinFocusRect()、drawRoundRect()、drawEllipse()、drawArc()、drawPie()、drawChord()、drawLineSegments()、drawPolyline()、drawPolygon()、drawConvexPolygon()和drawCubicBezier()。所有這些函數(shù)使用整數(shù)坐標(biāo),它們沒(méi)有浮點(diǎn)數(shù)的版本,因?yàn)槲覀兿胧估L制盡可能快地進(jìn)行。

      2、坐標(biāo)系統(tǒng)

      在Qt中的一個(gè)繪畫(huà)設(shè)備是一個(gè)可畫(huà)的二維平面。QWidget、QPixmap、QPicture和QPrinter都是繪畫(huà)設(shè)備。QPainter是一個(gè)可以在上面畫(huà)的對(duì)象。一個(gè)繪畫(huà)設(shè)備的默認(rèn)坐標(biāo)系統(tǒng)的原點(diǎn)在左上角。X軸由左向右增加,Y軸由上向下增加。對(duì)于基于像素的設(shè)備單位是像素,對(duì)于打印機(jī)是點(diǎn)。Qt的坐標(biāo)系除了默認(rèn)的坐標(biāo)系以外還可對(duì)坐標(biāo)系進(jìn)行轉(zhuǎn)換,這樣結(jié)合Qpainter的繪圖函數(shù)就可以畫(huà)出各種圖形。Qt提供了像QPainter::rotate()、QPainter::scale()、QPainter::translate()等方法來(lái)改變坐標(biāo)系。

      3、射擊小游戲

      射擊小游戲可以通過(guò)拖動(dòng)右邊“ANGLE”和“FORCE”滑動(dòng)條,改變發(fā)射子彈的角度和力量,點(diǎn)擊“Shoot”按鈕就可以發(fā)射子彈,子彈以拋物線的角度運(yùn)行,如果撞到紅色的目標(biāo)物體,則游戲成功,上面的LCD段碼“HITS”數(shù)值加一,每一局規(guī)定可以發(fā)射子彈的數(shù)據(jù),SHOTS LEFT顯示還有多少發(fā)子彈可以發(fā)射。整體窗口布局可以分為以下幾部分:上面的按鈕及LCD段碼,包括“Quit”“Shoot”“NewGame”“HITS”“SHOTS LEFT”;窗口左邊的‖ANGLE‖,‖F(xiàn)ORCE‖是LCD段碼和滑動(dòng)條的組合,可以用來(lái)改變發(fā)射角度和發(fā)射力量?jī)蓚€(gè)變量;窗口右邊大部分黃色的區(qū)域是游戲主窗口,里面包括了大炮,炮彈,目標(biāo),障礙墻等幾個(gè)成員?!緦?shí)驗(yàn)代碼】

      lcdrangge.cpp和lcdrange.h創(chuàng)建了一個(gè)新的窗體,窗體中包含了一個(gè)標(biāo)簽,一個(gè)LCD段碼,一個(gè)滑動(dòng)條?;瑒?dòng)條和LCD段碼建立信號(hào)與槽的聯(lián)系,這樣當(dāng)滑動(dòng)條移動(dòng)時(shí)其數(shù)值的變化直接就可以通過(guò)LCD段碼顯示。其構(gòu)造函數(shù)如下: void LCDRange::init(){ QLCDNumber *lcd = new QLCDNumber(2);// 定義LCD段碼lcd->setSegmentStyle(QLCDNumber::Filled);slider = new QSlider(Qt::Horizontal);// 定義水平滑動(dòng)條 slider->setRange(0, 99);slider->setValue(0);label = new QLabel;// 定義標(biāo)簽

      label->setAlignment(Qt::AlignHCenter | Qt::AlignTop);label->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);connect(slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)));// 建立滑動(dòng)條信號(hào)和LCD段碼槽函數(shù)的連接

      connect(slider, SIGNAL(valueChanged(int)), this, SIGNAL(valueChanged(int)));// 建立滑動(dòng)條信號(hào)和窗體信號(hào)的連接QVBoxLayout *layout = new QVBoxLayout;layout->addWidget(lcd);// 采用垂直布局器,安排三個(gè)組件layout->addWidget(slider);layout->addWidget(label);setLayout(layout);setFocusProxy(slider);// 設(shè)置焦點(diǎn)在滑動(dòng)條上 } 1)大炮

      大炮由兩部分組成一部分是下面的底座,一部分是活動(dòng)的炮筒。需要轉(zhuǎn)換坐標(biāo)系然后畫(huà)一個(gè)餅形,對(duì)于炮筒,類(lèi)似與上面鐘表例子的時(shí)鐘,需要隨著角度的不同而不同,代碼如下。void CannonField::paintCannon(QPainter &painter){ painter.setPen(Qt::NoPen);painter.setBrush(Qt::blue);painter.save();// 保存坐標(biāo)信息

      painter.translate(0, height());//平移坐標(biāo)原點(diǎn)

      painter.drawPie(QRect(-35,-35, 70, 70), 0, 90 * 16);// 畫(huà)餅形

      painter.rotate(-currentAngle);// 旋轉(zhuǎn)坐標(biāo)系,painter.drawRect(barrelRect);// 在新的坐標(biāo)系中,畫(huà)矩形,即炮筒

      painter.restore();// 回復(fù)原來(lái)的坐標(biāo)系 } 2)炮彈

      炮彈使用一個(gè)小矩形代替,炮彈的運(yùn)行軌跡為拋物線,代碼如下 QRect CannonField::shotRect()const { const double gravity = 4;double time = timerCount / 20.0;double velocity = shootForce;// 發(fā)射力量

      double radians = shootAngle * 3.14159265 / 180;// 發(fā)射角度 double velx = velocity * cos(radians);// 根據(jù)發(fā)射力量,角度和時(shí)間計(jì)算炮彈位置

      double vely = velocity * sin(radians);// 采用標(biāo)準(zhǔn)牛頓力學(xué)公式

      double x0 =(barrelRect.right()+ 5)* cos(radians);double y0 =(barrelRect.right()+ 5)* sin(radians);double x = x0 + velx * time;double y = y0 + vely * time1-qRound(y)));return result;} 3)目標(biāo)

      目標(biāo)也是使用一個(gè)小矩形表示,為了增加趣味性,目標(biāo)矩形的位置是隨機(jī)的。QT提供了隨機(jī)函數(shù)qrand提供隨機(jī)數(shù),創(chuàng)建一個(gè)新目標(biāo)代碼如下。

      void CannonField::newTarget(){ static bool firstTime = true;// ensure create new target when old target disappear if(firstTime){ firstTime = false;QTime midnight(0, 0, 0);qsrand(midnight.secsTo(QTime::currentTime()));// 設(shè)置隨機(jī)種子 } target = QPoint(200 + qrand()% 190, 10 + qrand()% 255);// 得到隨機(jī)坐標(biāo)值update();} 當(dāng)炮彈發(fā)射后,需要判斷炮彈是否擊中了目標(biāo),可以使用下面函數(shù)判斷。

      void CannonField::moveShot(){ QRegion region = shotRect();// 保存炮彈矩形 ++timerCount;QRect shotR = shotRect();// receive new ball region if(shotR.intersects(targetRect())){ // 如果炮彈和目標(biāo)重合,則認(rèn)為擊中目標(biāo) autoShootTimer->stop();// 停止定時(shí)器 emit hit();// 發(fā)送擊中目標(biāo)信號(hào)

      emit canShoot(true);// 表示可以再次發(fā)送炮彈了 } else if(shotR.x()> width()|| shotR.y()> height()|| shotR.intersects(barrierRect())){// 如果炮彈到達(dá)邊界過(guò)著碰到障礙墻 autoShootTimer->stop();// 本次發(fā)射結(jié)束 emit missed();// 發(fā)送沒(méi)有擊中目標(biāo)信號(hào) emit canShoot(true);// 表示可以再次發(fā)送炮彈 } Else { region = region.unite(shotR);//平滑移動(dòng)炮彈 } update(region);} gameboard.cpp,gameboard.h這兩個(gè)文件的作用是封裝用到的所有成員建立信號(hào)與槽的連接,然后使用布局管理組件完成對(duì)各成員的布局。GameBoard初始化函數(shù)如下所示。

      GameBoard::GameBoard(QWidget *parent): QWidget(parent){ QPushButton *quit = new QPushButton(tr(“&Quit”));quit->setFont(QFont(“Times”, 18, QFont::Bold));connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));LCDRange *angle = new LCDRange(tr(“ANGLE”));angle->setRange(5, 70);LCDRange *force = new LCDRange(tr(“FORCE”));force->setRange(10, 50);QFrame *cannonBox = new QFrame;cannonBox->setFrameStyle(QFrame::WinPanel | QFrame::Sunken);cannonField = new CannonField;connect(angle, SIGNAL(valueChanged(int)), cannonField, SLOT(setAngle(int)));connect(cannonField, SIGNAL(angleChanged(int)), angle, SLOT(setValue(int)));connect(force, SIGNAL(valueChanged(int)), cannonField, SLOT(setForce(int)));connect(cannonField, SIGNAL(forceChanged(int)), force, SLOT(setValue(int)));connect(cannonField, SIGNAL(hit()), this, SLOT(hit()));connect(cannonField, SIGNAL(missed()), this, SLOT(missed()));QPushButton *shoot = new QPushButton(tr(“&Shoot”));shoot->setFont(QFont(“Times”, 18, QFont::Bold));connect(shoot, SIGNAL(clicked()), this, SLOT(fire()));connect(cannonField, SIGNAL(canShoot(bool)), shoot, SLOT(setEnabled(bool)));QPushButton *restart = new QPushButton(tr(“&New Game”));restart->setFont(QFont(“Times”, 18, QFont::Bold));connect(restart, SIGNAL(clicked()), this, SLOT(newGame()));hits = new QLCDNumber(2);hits->setSegmentStyle(QLCDNumber::Filled);shotsLeft = new QLCDNumber(2);shotsLeft->setSegmentStyle(QLCDNumber::Filled);QLabel *hitsLabel = new QLabel(tr(“HITS”));QLabel *shotsLeftLabel = new QLabel(tr(“SHOTS LEFT”));(void)new QShortcut(Qt::Key_Enter, this, SLOT(fire()));(void)new QShortcut(Qt::Key_Return, this, SLOT(fire()));(void)new QShortcut(Qt::CTRL + Qt::Key_Q, this, SLOT(close()));QHBoxLayout *topLayout = new QHBoxLayout;topLayout->addWidget(shoot);topLayout->addWidget(hits);topLayout->addWidget(hitsLabel);topLayout->addWidget(shotsLeft);topLayout->addWidget(shotsLeftLabel);topLayout->addStretch(1);topLayout->addWidget(restart);QVBoxLayout *leftLayout = new QVBoxLayout;leftLayout->addWidget(angle);leftLayout->addWidget(force);QVBoxLayout *cannonLayout = new QVBoxLayout;cannonLayout->addWidget(cannonField);cannonBox->setLayout(cannonLayout);QGridLayout *gridLayout = new QGridLayout;gridLayout->addWidget(quit, 0, 0);gridLayout->addLayout(topLayout, 0, 1);gridLayout->addLayout(leftLayout, 1, 0);gridLayout->addWidget(cannonBox, 1, 1, 2, 1);gridLayout->setColumnStretch(1, 10);setLayout(gridLayout);angle->setValue(60);force->setValue(25);angle->setFocus();newGame();} 【實(shí)驗(yàn)總結(jié)】

      這個(gè)實(shí)驗(yàn)讓我體會(huì)到QT編程的魅力所在。雖然有源碼,需要自個(gè)編寫(xiě)的東西并不多,但還是有很大的收獲的。

      第四篇:射擊游戲 Java

      游戲資源是從cping1982的博客里下載的(http://blog.csdn.net/cping1982/article/details/6725015)。

      下載下來(lái)的源碼是反編譯的,我按照自己的思路,盡量模擬跟它一樣的功能效果,用自己的代碼實(shí)現(xiàn),并且自己寫(xiě)了一個(gè)地圖編輯器。用到的技術(shù)大概有:swing基本控件,線程,XML讀寫(xiě),IO,反射的簡(jiǎn)單應(yīng)用,2D繪圖。

      最重要的一個(gè)自定義類(lèi):Canvas。

      每個(gè)canvas都有一個(gè)render方法和update方法,每個(gè)canvas又可以添加別的canvas,類(lèi)似swing的component結(jié)構(gòu),每個(gè)canvas執(zhí)行render和update的時(shí)候都會(huì)遍歷所有子canvas執(zhí)行render和update,從而實(shí)現(xiàn)所有canvas都執(zhí)行渲染和更新。游戲的刷新機(jī)制:

      這個(gè)刷新機(jī)制是直接學(xué)的原代碼里面的實(shí)現(xiàn)機(jī)制,看它沒(méi)注釋的代碼著實(shí)蛋疼,還是請(qǐng)教了我?guī)煾礵esolatecity大神才理解的--!。

      最高層是一個(gè)繼承JFrame的GameFrame,實(shí)現(xiàn)了Runnable,游戲啟動(dòng)后會(huì)單獨(dú)運(yùn)行不斷循環(huán)刷新,每隔大概15ms就執(zhí)行一次render,并將整個(gè)循環(huán)所用時(shí)間通過(guò)update方法傳給canvas,最高層canvas再一層一層傳遞下去,實(shí)現(xiàn)所有canvas的渲染和更新。大致代碼實(shí)現(xiàn)如下:

      [java] view plaincopy

      1.while(gameOn){

      2.// 獲取開(kāi)始時(shí)的系統(tǒng)時(shí)間

      3.long startTime = System.currentTimeMillis();4.5.// 標(biāo)記時(shí)間所用變量

      6.long l1;

      7.long l2 = System.currentTimeMillis();8.long l3 = System.currentTimeMillis();9.10.// 執(zhí)行for循環(huán),直到經(jīng)過(guò)了step毫秒

      11.for(l1 = l3l2){ 12.l3 = System.currentTimeMillis();13.}

      14.// for循環(huán)結(jié)束,開(kāi)始渲染和更新

      15.l2 = System.currentTimeMillis();// 重置l2

      16.17.this.getCurrentCanvas().render(g2);// 渲染

      18.19.this.getGraphics().drawImage(bufImg, 0, 0, null);// 將緩沖圖片畫(huà)到JFrame

      20.21.long endTime = System.currentTimeMillis();// 獲取結(jié)束時(shí)的系統(tǒng)時(shí)間

      22.23.this.getCurrentCanvas().update(endTime 元素”的映射關(guān)系將時(shí)間和對(duì)應(yīng)元素存儲(chǔ)到一個(gè)IdentityHashMap里,然后游戲的主canvas在update的時(shí)候遍歷IdentityHashMap,若當(dāng)前時(shí)間滿足map里面的時(shí)間,則將對(duì)應(yīng)的元素提取出來(lái),添加到當(dāng)前的子canvas列表里面,從而一個(gè)新的元素(或敵人,或提示消息等)就被添加到了界面上。這里我用到了一個(gè)比較少用的IdentityHashMap,原本直接用的是HashMap,后來(lái)發(fā)現(xiàn)一個(gè)時(shí)間有時(shí)候要對(duì)應(yīng)多個(gè)元素,然后上網(wǎng)查到了這個(gè)東東,但是由于鍵是按照對(duì)象來(lái)存儲(chǔ)的,所以要把時(shí)間用String對(duì)象來(lái)存儲(chǔ),搞得讀取和存儲(chǔ)的時(shí)候各種麻煩。結(jié)果后來(lái)師傅一指點(diǎn)才知道,可以直接用HashMap來(lái)存儲(chǔ)“時(shí)間--ArrayList”,這樣又方便又直接。--!后來(lái)嫌麻煩也不去改了。。

      地圖編輯器:

      地圖編輯器沒(méi)有什么特別費(fèi)腦袋的地方,就是各種swing控件的運(yùn)用,還有xml的讀寫(xiě),簡(jiǎn)單的反射應(yīng)用等。

      由于整個(gè)游戲基本上都是在邊學(xué)變寫(xiě),所以很多地方寫(xiě)的很粗糙,以至于后來(lái)去整理的時(shí)候發(fā)現(xiàn)前面的代碼結(jié)構(gòu)簡(jiǎn)直丑死了--,改都該了半天。

      最后附上源碼下載地址,如果有興趣的話可以互相探討學(xué)習(xí)。

      下載地址:http://download.csdn.net/download/jianglihui0330/4493082

      游戲截圖:

      地圖編輯器截圖:

      第五篇:射擊游戲?qū)嵗?/a>

      第七講 射擊游戲?qū)嵗?/p>

      學(xué)習(xí)目標(biāo): ? 設(shè)置顯示圖標(biāo)的屬性

      ? 運(yùn)動(dòng)圖標(biāo)中Direct to Grid類(lèi)型的使用 ? Goto、Test函數(shù)的使用 ? 使用交互圖標(biāo)的按鍵響應(yīng) ? 聲音圖標(biāo)的使用

      ? 利用Random函數(shù)隨機(jī)定義顯示位置 程序功能

      飛機(jī)每4秒移動(dòng)到一個(gè)隨機(jī)位置,利用方向鍵移動(dòng)瞄準(zhǔn)器。瞄準(zhǔn)器套住飛機(jī)后,可以按鍵射擊,飛機(jī)被擊中后爆炸。2 主要操作步驟

      ? 拖入計(jì)算圖標(biāo),名為“初始化”,在計(jì)算窗口中輸入: x:=50 y:=50 ——(x,y)為瞄準(zhǔn)器的坐標(biāo) x1:=Random(1,100,1)y1:=Random(1,100,1)——(x1,y1)為飛機(jī)的坐標(biāo)

      拖入顯示圖標(biāo),名為“瞄準(zhǔn)器”

      打開(kāi)菜單命令 [Modify]/[Icon]/[Properties],設(shè)置Positioning為On Screen,Movable為On Screen,并設(shè)置Layer為3 拖入顯示圖標(biāo),引入飛機(jī)的圖片

      打開(kāi)菜單命令 [Modify]/[Icon]/[Properties],設(shè)置Positioning為On Screen,Movable為On Screen 拖入運(yùn)動(dòng)圖標(biāo),雙擊打開(kāi)屬性窗口,選擇Type為Direct to Grid,選中被射擊物,拖動(dòng)圖片定義Base和End,定義Destination為x1和y1,并設(shè)置Concurrency為Perpetual 拖入運(yùn)動(dòng)圖標(biāo),設(shè)置瞄準(zhǔn)器的運(yùn)動(dòng)圖標(biāo)同上,Destination為x和y 拖入交互圖標(biāo),再拖入計(jì)算圖標(biāo)到交互圖標(biāo)右側(cè),名為“4秒后移動(dòng)”,選擇Time Limit響應(yīng)類(lèi)型

      雙擊響應(yīng)類(lèi)型符號(hào),設(shè)置Time Limit為4,取消Show Time Remaining的選擇,設(shè)置Branch為Continue 打開(kāi)計(jì)算圖標(biāo)窗口,輸入以下內(nèi)容: x1:=Random(1,100,1)y1:=Random(1,100,1)?

      ?

      ?

      ? ?

      ?

      GoTo(IconID@“移動(dòng)飛機(jī)”)—— GoTo為系統(tǒng)函數(shù)

      ? 拖入計(jì)算圖標(biāo)到交互圖標(biāo)最右側(cè),雙擊響應(yīng)類(lèi)型符號(hào),選擇Type為Keypress,設(shè)置Key(s)為leftarrow

      注:leftarrow為系統(tǒng)指定的鍵盤(pán)左鍵的名稱

      打開(kāi)計(jì)算圖標(biāo)窗口,輸入以下內(nèi)容: x:=x-5 Test(x<0,x:=0)

      ——Test(條件,表達(dá)式1,表達(dá)式2)是系統(tǒng)函數(shù),條件成立時(shí),執(zhí)行表達(dá)式1,否則執(zhí)行表達(dá)式2 同理,拖入三個(gè)計(jì)算圖標(biāo),Key(s)分別為rightarrow、uparrow和downarrow

      在rightarrow計(jì)算窗口中輸入: x:=x+5 Test(x>100,x:=100)在uparrow計(jì)算窗口中輸入: y:=y-5 Test(y<0,y:=0)在downarrow計(jì)算窗口中輸入: y:=y+5 Test(y>100,y:=100)

      拖入群組圖標(biāo)到交互圖標(biāo)最右側(cè),雙擊響應(yīng)類(lèi)型符號(hào),設(shè)置Key(s)為T(mén)ab,Branch為Exit Interaction,在Active If中輸入ABS(x-x1)<20 & ABS(y-y1)<20

      打開(kāi)群組圖標(biāo),在二級(jí)流程線上拖入顯示圖標(biāo),引入爆炸圖片

      打開(kāi)菜單命令 [Modify]/[Icon]/[Properties],設(shè)置Positioning為In Area,Movable為In Area,拖動(dòng)圖片定義Base和End,設(shè)置Initial為x1和y1

      在二級(jí)流程線上拖入清除爆炸畫(huà)面的擦除圖標(biāo) ?

      ?

      ?

      ?

      ?

      ?

      下載Unity3d射擊游戲報(bào)告word格式文檔
      下載Unity3d射擊游戲報(bào)告.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        pascal射擊游戲完整版

        uses crt; var headx,armlx,armrx,bodyx,legx,heady,armly,armry,bodyy,legy:integer; blood:integer; eblood:array [1..9] of integer; etowards,towards,x:string; earmr......

        簡(jiǎn)述第三人稱射擊游戲

        簡(jiǎn)述第三人稱射擊游戲 首先在介紹第三人稱射擊游戲前要知道什么是第三人稱視角游戲。 廣義的第三人稱視角游戲(英語(yǔ):third-person game)是最原始的游戲類(lèi)型,這類(lèi)游戲是需要玩家......

        射擊游戲作文[共5篇]

        射擊游戲作文在學(xué)習(xí)、工作、生活中,大家都跟作文打過(guò)交道吧,通過(guò)作文可以把我們那些零零散散的思想,聚集在一塊。相信許多人會(huì)覺(jué)得作文很難寫(xiě)吧,以下是小編為大家收集的射擊游戲......

        玩射擊游戲作文[5篇模版]

        玩射擊游戲作文在平平淡淡的日常中,大家都跟作文打過(guò)交道吧,作文根據(jù)體裁的不同可以分為記敘文、說(shuō)明文、應(yīng)用文、議論文。你所見(jiàn)過(guò)的作文是什么樣的呢?以下是小編整理的玩射擊......

        射擊乒乓球的游戲教案設(shè)計(jì)[5篇范文]

        游戲意圖:家長(zhǎng)利用空余時(shí)間,到孩子的幼兒園,和孩子還有老師一起玩親子游戲,對(duì)于孩子來(lái)講,不僅充滿了歡樂(lè),而且,還能真正增進(jìn)了與孩子之間的關(guān)系。游戲準(zhǔn)備:啤酒瓶、乒乓球、彈弓、護(hù)......

        射擊教案

        手槍的擊發(fā) 授課提要 題目:手槍的擊發(fā) 目的:使同志們了解掌握手槍的擊發(fā)動(dòng)作 內(nèi)容: 一、手槍射擊的特點(diǎn) 二、講解手槍擊發(fā)動(dòng)作要領(lǐng) 三、擊發(fā)與心理的聯(lián)系 四、常見(jiàn)的錯(cuò)誤動(dòng)作和......

        射擊作文

        射擊作文 射擊作文馬村區(qū)實(shí)驗(yàn)小學(xué)四(1)班 楊一鳴寒假中的趣事像天上的星星一樣數(shù)不勝數(shù),又像海邊的貝殼一樣美好的五彩繽紛。在寒假的美好回憶中,最讓我難忘的就是在公園里射擊......

        射擊心得

        實(shí)彈射擊體會(huì) 今天進(jìn)行了第一次實(shí)彈射擊,首先從準(zhǔn)備動(dòng)作來(lái)看,進(jìn)場(chǎng)后一切動(dòng)作聽(tīng)教官安排,關(guān)于動(dòng)作要領(lǐng),標(biāo)準(zhǔn)姿勢(shì)如下:身體斜側(cè)目標(biāo)站立,與目標(biāo)約成45度角,兩腳自然開(kāi)立略與肩同寬,身......