1 頁 (共 1 頁)

[分享,討論]讀取螢幕上某一點是否為黑

發表於 : 2004-03-14 6:01 AM
moon2003
機密技術文章區中希洛的[轉貼]GVBASIC教學精華集PART2 寫: GVBASIC之讀取螢幕象素最優演算法 作者:Coolsoft(R)
以下代碼可以讀取螢幕上某一點是否為黑!
此方法用在我的"歡樂潛水艇"裏面,非常成功!速度很快!
K=PEEK(INT(PX/8)+PY*20+2496)
TP=INT(PX-8*INT(PX/8)+1.55)
PS=INT(K/2^(8-TP))-INT(K/2^(9-TP))*2
其中,PX為螢幕上X軸座標,PY為Y軸座標,返回值PS為判斷值,如果PS=0,則表示螢幕上那一點為白的,否則為黑的。
我用NC3K試過,似乎不太管用,後來去參照"歡樂潛水艇"第9100行的程式碼,我覺得這樣改寫後應該沒錯了:
A=PEEK(INT(X/8)+Y*20+6592)
B=INT(X-8*INT(X/8)+1.55)
C=A
A=INT(A/2)
D=C-A*2
如果D=1,螢幕上的點就是黑的
如果D=0,螢幕上的點就是白的(...這樣講怪怪的,應該說"不是黑的")
最後附上範例程式:JUDGE.BAS

發表於 : 2004-03-14 9:39 AM
冰浩
那是因為不同的機形的PEEK碼不同的緣故
教學中的因該是pc1000的peek碼吧

發表於 : 2004-03-14 6:02 PM
希洛
其實我轉再再技術文件內就有類似的公式了,大家可以參考看看。

發表於 : 2004-03-14 6:41 PM
helldeathscyt
果然可以查看黑點
我一值想找這ㄍpeek
謝謝啦