論加框 減框 異形框(一.加框)
首先,框是很常見的。以最簡單的角色框來說,框一般具有一下兩種特征:
1.?長
(資料圖片)
這個不難理解,框就是一個近似意義上的長方形,而說到長方形就不得不聯想到對角線,距離等等(沒學好初中知識的自己滾去學)
再抽象一點可以說成是“兩點一線,四線一框”
說白了一個框由四個邊組成,當然長邊也算
2.?寬
理解了長那么寬也好說了
只不過別把框完全當作框了,當四邊形旋轉之后的極高與極低是完全不一樣的
最后,我們還有一點要注意,方向是最重要也是最讓人頭大的地方,問題不在繪制而是在于判定,因此抽象的看做一個“平面直角坐標系”,利用公式兩點確立一線便可求得每條直線的函數解析式了,因此便可直接帶入了。以圖形編程的畫筆為例可以近似理解為:
繪制框(向編譯器聲明并做好主函數)
設置畫筆粗細(大小)-------函數1
設置畫筆顏色
移到原點O 面向角度1 ???????//函數2
重復執行(距離)次 ????????//函數3
{ ?????將面向角度1
行動(距離)步
輸出返回值
結束 ?????????????????
}
以上便是一個邊繪制的例子(如果是軟件或結束方面的差異就用自己熟悉的來吧,此處只是Xuncha的個人構思)
再打個比方以GMS2為例
繪制的腳本為
Draw_sprite(sgr_pixel,0,x,y)
script_exists(scr);檢查腳本是否存在
script_get_name(scr);獲取腳本名
script_execute(scr, arg0, arg1, arg2..., etc...);調用腳本
script_execute(scr, array_args, [offset], [num_args]); 使用數組參數調用腳本
注:本人是GMS2新手
學會繪制以后第一步便要學會純畫筆
1.?為什么使用純畫筆
A.?以為軟件差異使用純畫筆是為了更好的區分圖層,誰也不想整個畫面雜亂無章
B.?角色過多反而到后面自己都看不過來了
C.?克隆對內存和計算的要求過大例如:
我要10000個蘋果,克隆會單獨計算出10000個蘋果
而畫筆卻省略了這一步
2.?圖形編程或其他編程語言(C++ java GMS等)
還是強調 此處只是Xuncha的個人構思
回歸正題
畫筆總之就是可以多層繪制
那么加框減框是如何實現的呢
這很好理解
加框可以理解成加上一個框,例如1個框加1個框等于2個框,我們可以用數據列表來表示:
1.?左上x
2.?左下y
3.右下x
4.右下y
5.方向
這時可能有人要問了,如何讓編譯器自動識別框的個數呢
難道要設一個框的個數的變量?
不,我們只需要用最簡單的除法就可以啊!
但這就要用到一個(框值)了
同上
設置主函數
設置畫筆粗細(大小)-------函數1
設置畫筆顏色
將框值設為1
重復執行(框)列表的項目數 / ?5 ) ??5為框的項目個數
{
移到(A,B)落筆
移到(C,B)
移到(C,D)
移到(A,D)
移到(A,B)----原點
抬筆
}
備注:此處過于麻煩邊簡略一些
此時列表信息因該為:
1.左上x ?列表的第(框值)+ 1 項 ??A
2.左上y 列表的第(框值)+ 2 項 ??B
3.右下x 列表的第(框值)+ 3 項 ??C
4.右下y 列表的第(框值)+ 4 項 ??D
5.方向 列表的第(框值)+ 5 項 ???E
這樣,當你的列表里有10個 15個及以上個項時
編譯器便會自動識別框的個數,便可完成加框運算
以上僅為我個人觀點不喜勿噴
關鍵詞:
凡注有"實況網-重新發現生活"或電頭為"實況網-重新發現生活"的稿件,均為實況網-重新發現生活獨家版權所有,未經許可不得轉載或鏡像;授權轉載必須注明來源為"實況網-重新發現生活",并保留"實況網-重新發現生活"的電頭。