我正在分析一個開源的遊戲代碼,我不明白setDefaultSpecialChars()方法和setDefaultSmallAlphabet()。這些陳述fontCharTable[':']=1 + indexOf_Point;
和fontCharTable['a'+i] = indexOf_a + i;
對我來說是新的。我不明白這個Java代碼(位圖字體)
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class GFont {
public int[] fontCharTable = new int[256];
public void setFontCharTableDefaults(boolean specialChars) {
setDefaultSmallAlphabet(0);
setDefaultBigAlphabet(0);
setDefaultDigits(27);
if (specialChars) {
setDefaultSpecialChars(37);
}
}
public void setDefaultSpecialChars(int indexOf_Point) {
fontCharTable['.']=0 + indexOf_Point;
fontCharTable[':']=1 + indexOf_Point;
fontCharTable[',']=2 + indexOf_Point;
fontCharTable[';']=3 + indexOf_Point;
fontCharTable['?']=4 + indexOf_Point;
fontCharTable['!']=5 + indexOf_Point;
fontCharTable['(']=6 + indexOf_Point;
fontCharTable[')']=7 + indexOf_Point;
fontCharTable['+']=8 + indexOf_Point;
fontCharTable['-']=9 + indexOf_Point;
fontCharTable['*']=10 + indexOf_Point;
fontCharTable['/']=11 + indexOf_Point;
fontCharTable['=']=12 + indexOf_Point;
fontCharTable['\'']=13 + indexOf_Point;
fontCharTable['_']=14 + indexOf_Point;
fontCharTable['\\']=15 + indexOf_Point;
fontCharTable['#']=16 + indexOf_Point;
fontCharTable['[']=17 + indexOf_Point;
fontCharTable[']']=18 + indexOf_Point;
fontCharTable['@']=19 + indexOf_Point;
fontCharTable['ä']=20 + indexOf_Point;
fontCharTable['ö']=21 + indexOf_Point;
fontCharTable['ü']=22 + indexOf_Point;
fontCharTable['Ä']=fontCharTable['ä'];
fontCharTable['Ö']=fontCharTable['ö'];
fontCharTable['Ü']=fontCharTable['ü'];
}
public void setDefaultSmallAlphabet(int indexOf_a) {
for (i=0; i<26; i++) {
fontCharTable['a'+i] = indexOf_a + i;
}
}
}
是的,爲什麼它初始化數組值爲「8 + indexOf_Point」? – user1494517
@ user1494517:大概這是程序員在地圖上想要的價值。我不能談論代碼的*意圖 - 只是它實際做了什麼。 –