>>199
3行目で[2]にしてるけどスカラーでいける。
4行目にそのまま直書きしてもOK、なはず。
uialpha /= Numeric.array(2, 'b')
多分'b'はNumeric.UnsignedInt8と同じ。

で、ここまで出来てるなら
PixeledAlphaとSurfaceAlphaの合成って出来ない?
Unsigned拡張して演算できるよ。その場合は
Surfaceフォーマットに注意。詳しくは
//www.pygame.org/docs/tut/surfarray/SurfarrayIntro.html

もしPixeledAlphaのOpacity設定なら
def setPixA_alpha(pix, val):
cp=pix.copy()
pixA=pygame.surfarray.pixels_alpha(cp)
pixA-=(pixA*((255-val)/255.0)).astype('b')
del pixA
return cp
で動いてるけど違うのかのぅ

わしもsurfarray使えるまでかなりドキュメント
漁ったわ