# 9/16 K速記 ## 碰撞判定 * AABB: 物體為長方形 且無旋轉狀態,只需判定四個邊緣 * A.top > B.bottom =>碰撞 (JFrame Y軸向下) * B.top > A.Bottom =>碰撞 * A.left < B.right => 碰撞 * B.left < A.right => 碰撞 * 分離軸定理 ## BMP : bitmap * 使用 4Byte 代表 1個點的顏色,以800X600解析度的照片,則需48萬筆資料 = 480K個點 =1920KB = 1.9MB(檔案大小) ## JPG * 壓縮方式: 將圖檔使用的色碼 置換成查表,不須全部用BMP色碼(佔記憶體), * 另將 接近的顏色 視為相同代碼(破壞性壓縮) ## 單例模式 * 在遊戲中 所有圖片/音效等資源 需要被統一管理 * 在整個程式中 相同的東西 存放在golbal區 => 避免被隨意亂更改, * 使用類別 將 private static 做存取=>靜態方法進行存取 ## path 管理 * 內部類別方式1: ```java= public class Path{ public static final String RESOURCES_FLODER = "/RESOURCES"; public static final class Resources{ public static final String ACTOR_FOLDER = RESOURCES_FLODER +"/actors"; public static final String OBJ_FOLDER = RESOURCES_FLODER +"/objs"; public static final String SOUND_FOLDER = RESOURCES_FLODER +"/sounds"; public static final String BACKGROUND_FOLDER = RESOURCES_FLODER +"/backgrounds"; public static final class Actors{ public static final String AIR_CRAFT = ACTOR_FOLDER +"/airplan1.png"; public static final String ENEMY = ACTOR_FOLDER +"/enemy1.png"; } } } public class main{ public void test(){ img = controller(Path.Resources.Actors.AIR_CRAFT); // <=單例的控制器 測試 路徑,路徑 使用上述寫死的方式,可對應資料夾取得整體路徑。 } } ``` * 內部類別方式2: * 要同學想想看~ ```java= ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up