📄 base.gml
字号:
#ifndef PORT
#define PORT 6600
<sys setiepos=200,200,246,420>
<sys gamexsize=230,320>
#endif
<sys import=desktop,$.\..\..\common\socketc.gml>
<sys import=desktop,$.\..\..\common\list.gml>
#define PM <PlayerMy ownername=%1;name=%2;src=%1;index=%3>
#define PO <PlayerOther ownername=%1;name=%2;src=%1;index=%3>
#define M <man name=%1;index=%2;user=%3>
<style>
.gdesk{
OnDown={<:$[me] eve=down,$[ep]>};
OnUp={<:$[me] eve=up,$[ep]>};
class=MyDesk;
}
.game:text{
pos=10,20;
OnCreate={<: src=$[name]>};
}
.ManList:list{
pos=10,50;
size=100,200;
// OnSize={<: pos=(pid.width-80),9>};
// bkimg=$.\img\dlgbk.gif#3,3
bkimg=dotcolor();
autosubpos=vert(15,3,1,1,20);
rightscroll=1;
class=MyManList;
}
.gman:div{
pid=ManList;
autopos=1;
size=100,20;
OnCreate={<text src=$[name]><text xpos=50;pid.mid=*id;src="空"><:$[id] eve=mode,$[mode],$[user]>};
mode=0;
user=0;
OnMode={<: if=($[ep0]==0)?{user=0;mid.src="空"}:{user=$[ep1];mid.src=$[ep1]}>};
OnClick={<: if=(mode==0)?{&desktop.eve=down,$[index]}:{&desktop.eve=up,$[index]};>};
OnEnter={<: eve=mode,1,$[ep]>};
OnLeave={<: eve=mode,0>};
}
.UserList:list{
pos=120,50;
size=100,200;
bkimg=dotcolor();
autosubpos=vert(15,3,1,1,20);
rightscroll=1;
class=MyUserList;
}
.playtext:text{
pid=UserList;
autopos=1;
showstyle=3;
// index=-1;
// OnCreate#i={<img src=$.\images\eye.gif;size=16,16;pid.pimg=*id;pos=-20,0;clip=0;><: eve=state,$[index]>};
// OnState={<: index=$[ep];if=(index>=0)?{pimg.show=0}:{pimg.show=1}>};
OnCreate#s={<: src=$[ownername]>};
index=-1;
ifchged(index)={<: if=(index>=0)?{color=#FF8888}:{color=#FFFFFF};>};
OnMode={<: index=$[ep]>};
}
.PlayerMy:playtext{
color=R120G234B89;
OnCreate={<:desktop myname=$[ownername];me=$[id]>};
OnDown={<: neteventtos=enter,$[ep]>};
OnUp={<: neteventtos=leave,$[ep]>};
OnErr={<: switch(ep[0]){
case 1:!有人在此;break;
case 2:!已经在此;break;
case 3:?换座位到$[ep1];break;
}>};
OnWaitbegin={<msg_wait src="等待其他玩家接受挑战..."></msg_wait>};
OnFight={<:msgdlg del=1>};
Oncanfight={<msg_in src="$[ep]想加入游戏挑战你\r\n接受么?"></msg_in>};
Onyes={<: neteventTos=fyes>};
Onnofight={<: neteventTos=fno>};
Onquit={<: neteventTos=quit>};
OnExit={top.close()};
Onfquit={<:msgdlg del=1>};
OnLost={<msg_over src="一局结束\r\n$[ep] 输了"></msg_over><:b1 stop=1;><:b2 stop=1>};
Onnext={<: neteventTos=continue;>};
Onwaito={<msg_wait src="等待其他人继续..."></msg_wait>};
}
.PlayerOther:playtext{
}
.mysocket:commsocket{
Onconnected#chatsys={
var def=""+location;
if(document.gmllocation && document.gmllocation.indexOf("#")>0) def=document.gmllocation;
def=def.split('#');
if(def.length<2){
def[1]="H"+((new Date()).getTime()%1000);
def[2]="mytest";
}
document.MYNAME=def[1];
$GX.Cmd("<:$[id] login="+def[1]+","+def[2]+">");
};
port=#(PORT);
debug=#(NETDEBUG);
OnNetErr={<:txt$[id] src=网络错误;show=1>};
OnChatsys={<ChatTxt srcex='系统:$[chatmsgex]';color=R250G130B100>};
OnChatself={<ChatTxt srcex='我:$[chatmsgex]';color=R250G230B150>};
OnChatother={<ChatTxt srcex='$[chatfrom]:$[chatmsgex]';color=R150G230B250>};
}
.ChatTxt:text{
pid=ChatList;
autopos=1;
showstyle=3;
pos=0,-100;
}
.ChatList:list{
rightscroll=1;
autosubpos=vert(1,1,1,true,115);
class=MyChatList;
}
.chatedit:Wedit{
size=283,16;
pos=152,462;
OnEnter={<:mysocket sendChat='$[src]'><: src="">};
class=MyChatEdit;
}
</style>
#ifndef COM
<ManList name=ManList></ManList>
<ChatList name=ChatList></ChatList>
<chatedit name=ChatEdit>
<UserList name=UserList></UserList>
#endif
<:desktop class=gdesk>
<mysocket name=mysocket>
<:desktop OnSize={<: enumsub={<: eve=size>}>};>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -