007根據矩陣基位址繪製方框

2022-09-16 23:33:33 字數 1393 閱讀 5554

有了矩陣的基位址以後就可以讀取矩陣的值放入陣列中

readprocessmemoryworld (程序控制代碼, 矩陣基位址, viewworld [1] [1], 64, 0)

有了viewworld陣列就可以吧世界座標轉換為螢幕座標

相機z = viewworld [3] [1] × 其他人座標.x + viewworld [3] [2] × 其他人座標.y + viewworld [3] [3] × 其他人座標.z + viewworld [3] [4]

縮放比例 = 1 ÷ 相機z

相機x = 視角寬 + (viewworld [1] [1] × 其他人座標.x + viewworld [1] [2] × 其他人座標.y + viewworld [1] [3] × 其他人座標.z + viewworld [1] [4]) × 縮放比例 × 視角寬

相機y = 視角高 - (viewworld [2] [1] × 其他人座標.x + viewworld [2] [2] × 其他人座標.y + viewworld [2] [3] × (其他人座標.z - 3) + viewworld [2] [4]) × 縮放比例 × 視角高

相機y2 = 視角高 - (viewworld [2] [1] × 其他人座標.x + viewworld [2] [2] × 其他人座標.y + viewworld [2] [3] × (其他人座標.z + 80) + viewworld [2] [4]) × 縮放比例 × 視角高

有了相機x和相機y以後,我們就可以繪製出方框了

.版本 2

.如果真 (其他人血量 > 1)

方框高度 = 相機y - 相機y2

方框寬度 = 方框高度 × 0.5

其他人距離 = 取整 (取_其他人距離 (本人座標, 其他人座標) ÷ 10)

繪製矩形 (相機x - 方框寬度 ÷ 2, 相機y2, 方框寬度, 方框高度, #紅色, 2)

方框座標資料.左邊 = 相機x - 方框寬度 ÷ 2

方框座標資料.頂邊 = 相機y2

方框座標資料.寬度 = 方框寬度

方框座標資料.高度 = 方框高度

豎向血條 (方框座標資料, 其他人血量, #綠色)

繪製文字 (方框座標資料.左邊, 相機y, 「距離:」 + 到文字 (其他人距離), #紅色, 21, 255)

繪製直線 (視角寬, 0, 相機x, 相機y2, 2, #紅色)

但是這裡有乙個問題就是你的視角前面有乙個方框,視角後面也有乙個方框,如何過濾掉它呢

在算出相機z的數值以後進行乙個判斷

.版本 2

' 乾掉出現兩個方框的情況

.如果真 (相機z < 0)

到迴圈尾 () ' break

實驗九 根據材料程式設計

實驗9 根據材料程式設計 db welcome to masm 2h,24h,71h 定義要顯示的字串 和顏色屬性 字串用單引號,雙引號皆可 data ends code segment start mov ax,data mov ds,ax mov si,0 ds si指向源位址 mov ax,0...

實驗9 根據材料程式設計

本實驗關注的重點是如何顯示乙個二維的資料,很自然是使用二重迴圈,彙編二重迴圈也有乙個套路,具體看下面的 幾乎所有的二重迴圈都是下面這個套路。值得強調的是,兩層迴圈直接進出一定要注意上下文切換,這裡已經體現出一點作業系統指令切換的雛形。assume cs codesg,ds datasg datasg...

406 根據身高重建佇列

假設有打亂順序的一群人站成乙個佇列。每個人由乙個整數對 h,k 表示,其中h是這個人的身高,k是排在這個人前面且身高大於或等於h的人數。編寫乙個演算法來重建這個佇列。注意 總人數少於1100人。示例輸入 7,0 4,4 7,1 5,0 6,1 5,2 輸出 5,0 7,0 5,2 6,1 4,4 7...