主题:有没有做的漂亮的菜单,给出来几个大家一起观摩观摩??
野生大白菜
[专家分:120] 发布于 2006-10-04 10:18:00
搜了下本区几个菜单的,都是做的十分简单的.
怎么才能做出漂亮的菜单呢? 我想难就难在设计上,确切的说应该在美工上吧! 大家有没有做的漂亮的菜单啊?有的话摆出几个来分享分享!!!!呵呵
回复列表 (共3个回复)
沙发
moz [专家分:37620] 发布于 2006-10-07 05:06:00
各人有各人的喜好
正所谓萝卜青菜。。。。
你有想法,付诸行动就是了
记得注意点运行速度
搞清楚什么才是最重要的
板凳
冷石_jasv [专家分:1570] 发布于 2006-12-13 13:29:00
这玩意要漂亮就只能贴图片了...限于640x480x16色容易实现点...所以..你的图片也受到了限制.要点渐变的效果也就显示得麻麻点点.(一般来说我是用photoshop软件把24位的图片变成16色的图片.再用程序处理成QB能读取的格式)..另外加一句:用put显示图片.只能显示1/4屏幕大小.也就是说.你要显示640x480就得分四次显示(四张图片是预先存好了的.QB能读取的格式).
诚然这种程序能写出来.但毕竟咱们是业余的..写出来的可移植性非常弱.你是很难看懂调用的....
所以结论就是DOS的QB程序又带汉字.又带鼠标.还有菜单.640x480x16色....
凑合这先用吧
3 楼
moz [专家分:37620] 发布于 2007-06-23 17:13:00
DECLARE FUNCTION wins% (z$)
PRINT wins("abc,efg,123,4567")
DEFINT A-Z
FUNCTION wins (z$)
t1 = 1
t2 = 1
IF LEFT$(z$, 1) = "?" THEN
xscr = 1
t1 = VAL(MID$(z$, 2, 3))
z$ = MID$(z$, 11)
ELSE
'scrc ts$
END IF
x = CSRLIN
y = POS(0)
s$ = z$
l = LEN(s$) \ 2
DIM a$(l)
i = INSTR(s$, ",")
DO WHILE i
j = j + 1
a$(j) = LEFT$(s$, i - 1)
s$ = MID$(s$, i + 1)
IF LEN(a$(j)) > ml THEN ml = LEN(a$(j))
i = INSTR(s$, ",")
LOOP
a$(0) = s$ '标题
IF j < 1 OR ml < 1 THEN EXIT FUNCTION
IF j > 22 THEN j = 22
ml = ml + (ml MOD 2)
IF ml > 74 THEN ml = 74
IF x + j > 23 THEN x = (24 - j) \ 2
IF y + ml > 75 THEN y = (76 - ml) \ 2
IF a$(0) <> "" THEN x2 = 1 ELSE x2 = 0
x2 = 1
LOCATE x, y, 0
'txx j + x2 + 1, ml
LOCATE , , 0
IF x2 > 0 THEN
COLOR 31, 1
LOCATE x + 1, y + 5
PRINT LEFT$(a$(0), ml - 2);
END IF
x = x + x2
y = y + 3
COLOR 0, 7
FOR i = 1 TO j
LOCATE x + i, y
a$(i) = LEFT$(a$(i) + SPACE$(ml), ml)
PRINT a$(i);
NEXT
DO
IF t1 > j THEN t1 = 1
IF t1 < 1 THEN t1 = j
COLOR 0, 7
LOCATE x + t2, y
PRINT a$(t2);
COLOR 31, 5
LOCATE x + t1, y
PRINT a$(t1);
t2 = t1
LOCATE 1, 80, 0
tout# = TIMER
DO
SLEEP 1
IF TIMER - tout# > 1800 THEN EXIT FUNCTION
k$ = INKEY$
LOOP WHILE k$ = ""
SELECT CASE k$
CASE CHR$(0) + CHR$(72): t1 = t1 - 1 '上
CASE CHR$(0) + CHR$(80): t1 = t1 + 1 '下
CASE CHR$(0) + CHR$(71), CHR$(0) + CHR$(73), CHR$(0) + CHR$(119): t1 = 1
CASE CHR$(0) + CHR$(81), CHR$(0) + CHR$(79), CHR$(0) + CHR$(117): t1 = j
CASE CHR$(49) TO CHR$(57): t1 = ASC(k$) - 48 '1-9
CASE CHR$(27), CHR$(48): W = -1
CASE CHR$(13): W = t1
END SELECT
LOOP UNTIL W
'IF ts$ <> "" THEN scrc ts$
COLOR 7, 0
IF W > 0 THEN
wins = W
z$ = LTRIM$(RTRIM$(a$(W)))
ELSE
z$ = ""
END IF
END FUNCTION
我来回复