日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java课程设计进程管理_Java课设总结(个人版)

發布時間:2023/12/2 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java课程设计进程管理_Java课设总结(个人版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用物理引擎JBox2D完成游戲關卡的各個物理狀態模擬

根據物理引擎設計Bird,Pig,Brick等游戲中出現的可運動剛體類

建立JBox2d的工具類以實現

###本人對這次課設的看法與吐槽 1.

課設內容的腦洞是我在看完17級學長的游戲課設之后想出的 當時還沒學java網絡編程的內容,誤以為java課設只能做游戲(然后一路頭鐵到底)

在前期準備的時候參考的基礎代碼和鄭老師博客中的參考資料南洋理工Java Game Programming 前者的代碼僅使用了碰撞檢測,無法對物體的實際運動狀態進行模擬 后者使用物理公式模擬了運動軌跡,利用圓的各向性質相同實現了圓形的碰撞后反向運動,而憤怒的小鳥游戲中各向性質相同的物體并不存在

于是當時在前期調查報告中加了這句話

天真的認為物理引擎是簡單物理公式/數學公式進行編寫碰撞,旋轉等操作的代碼 下載了一個JBox2D的jar包,找不到文檔,就先扔著了(并不知道將要面對什么)

直到發現JBox2D的示例代碼也基本沒有時,到github下載了源碼,才發現自己工作量遠超想象

##3.物理引擎JBox2D簡介/分析

JBox2D是開源的物理引擎Box2D的Java版本 該引擎能夠根據開發人員設定的參數,如重力、密度、摩擦系數和彈性系數等,對2D剛體物理運動的全方位模擬 安卓版的憤怒的小鳥也是依賴JBox2D引擎

###3.1 JBox2D引擎的主要類 ####Vec2類 二維矢量

####World類 世界

####Body類 剛體

####BodyDef類 剛體描述

####Fixture 夾具

####FixtureDef 夾具描述

####CircleShape 圓形

####PolygonShape 多邊形 ####包含關系

該博客使用的JBox2D版本已過時,大部分對物理引擎的調用方法已失效,已通過閱讀新版源碼的方式修正這些方法 只有球類的自由落體演示,并且作者對Jbox2d方面的內容不再更新 剛體繪制無法進行旋轉,自行研究了如何進行剛體隨實際運動 但是作為唯一的一份找到的幫助我理解JBox2D引擎的代碼,對作者還是十分感謝 Conf類:配置參數

存儲構建世界/畫布時使用的常量

抽象類MyFrame 繼承自JFrame

屬性: AABB aabb //規定世界范圍

World world //模擬的物理世界

ArrayList bodyList //剛體集合

MyBody類

DrawThread類 繼承自Thread 繪制線程,同步啟動鼠標監聽器

Gview 類 繼承自JPanel 設置背景,啟動繪制線程

Box2dUtil類 根據JBox2d引擎進行Body的組裝

MymouseListener類 根據鼠標點擊創建并發射bird類

MyBrickBody類 矩形剛體及繪制方法

MyCircleBody類 圓形剛體及繪制方法

Bird類 繼承自MyCircleBody 設置圖片與hp

Pig類 繼承自MyCircleBody

Wall類 繼承自MyBrickBody類

Brick類 繼承自MyBrickBody類

##5.存在的問題

對物理引擎的理解仍然不夠深入,部分操作短時間內不能實現 存在無法無法解決的bug,github上已經開源的代碼與依賴jar包版本不匹配,對問題發生處朔源失敗 課設時間(一周)實在太短,只完成了勉強能動的游戲內容

總結

以上是生活随笔為你收集整理的java课程设计进程管理_Java课设总结(个人版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。