1、罗培羽教你制作3DRPG游戏,罗培羽教你制作3DRPG游戏,罗培羽 作品网名:碧俐千仞 QQ:345697666 E-mail:,第二节:Never Be Alone,罗培羽教你制作3DRPG游戏,entity* npc_old; 我们先创建一个“名字”NPC_oldaction npc_act_oldnpc=me; 再有一个动作,让在关卡编辑器里设置的动作为npc_act_old的角色“名字”叫做npc_old,罗培羽教你制作3DRPG游戏,c_trace(向量一,向量二,参数);判断从向量一到向量二之间是否有障碍物,如果没有就返回值就为0,罗培羽教你制作3DRPG游戏,长老属性多边形,罗培
2、羽教你制作3DRPG游戏,VECTOR( myplayer.x, myplayer.y, myplayer.z )角色位置,罗培羽教你制作3DRPG游戏,VECTOR( myplayer.x+cos(myplayer.pan)*30, myplayer.y+sin(myplayer.pan)*30, myplayer.z )角色正前方的位置,判断线,罗培羽教你制作3DRPG游戏,if(key_space=1)/空格 c_trace(VECTOR(myplayer.x+cos(myplayer.pan)*30,myplayer.y+sin(myplayer.pan)*30,myplayer.z)
3、, VECTOR(myplayer.x,myplayer.y,myplayer.z),IGNORE_PASSABLE|IGNORE_ME); if(you=npc_old)myplayer.z+=10; myplayer.z+=10 句只是作为一个判断,看看能不能判断到实体,罗培羽教你制作3DRPG游戏,试试 看看角色坐标能不能改变,罗培羽教你制作3DRPG游戏,我们要的是显示对话框和文字,罗培羽教你制作3DRPG游戏,font text_font = “Arial“,0,20; string mytext=“hello“; text ctext font= text_font;layer=2
4、;pos_x=20;pos_y=480;strings=1;string=mytext;,定义字体,字体,粗体?斜体?,大小,定义字符串,定义可以显示文字的“面板”,这个就是可以显示的了,字体,层和坐标,字符串数量,显示的字符串,罗培羽教你制作3DRPG游戏,if(you=npc)do_npc();function do_npc() ctext.visible = on; 这个visible属性让文字可以显示,罗培羽教你制作3DRPG游戏,试试,罗培羽教你制作3DRPG游戏,对话过程中要不能控制主角var ctrlable = 1; 定义变量ctrlable while(myplayer=nu
5、ll)wait(1);while(1)if(ctrlable=1)do_role();wait(1);,罗培羽教你制作3DRPG游戏,function talk() ctrlable=0;myplayer.frame=0;ctext.visible = on; ,罗培羽教你制作3DRPG游戏,删去前面的if(you=npc_old) function do_npc() if(you=npc_old) talk(); ,罗培羽教你制作3DRPG游戏,让文字在按下空格后消失,罗培羽教你制作3DRPG游戏,function talk() ctrlable=0;myplayer.frame=0;cte
6、xt.visible = on;while(key_space=1)wait(1);while(key_space=0)wait(1);while(key_space=1)wait(1);ctext.visible = off;ctrlable=1; ,放开继续,按下继续,放开继续,罗培羽教你制作3DRPG游戏,改变说话内容,罗培羽教你制作3DRPG游戏,function talk(mytext2) ctrlable=0;str_cpy(mytext,mytext2); /mytext=mytext2myplayer.frame=0; ctext.visible = on;while(key_
7、space=1)wait(1);while(key_space=0)wait(1);while(key_space=1)wait(1);ctext.visible = off;ctrlable=1; ,罗培羽教你制作3DRPG游戏,function do_npc() talk(“文字”); ,罗培羽教你制作3DRPG游戏,修改几次看看string mytext=“”;换成 string mytext;不然会有限制,罗培羽教你制作3DRPG游戏,显示底框,罗培羽教你制作3DRPG游戏,bmap text_box_map = ; panel text_boxpos_x = 0;pos_y = 45
8、5;layer = 1;bmap = text_box_map;alpha=80;flags = overlay,transparent,refresh; ,定义面板,位置,层,定义图片,设置图片,透明度,这个参数存在透明度才有效,透明色有效,罗培羽教你制作3DRPG游戏,starter start_up() d3d_autotransparency = 1; 对于overlay属性 1 左上角颜色为透明 0 黑色为透明,罗培羽教你制作3DRPG游戏,function talk(mytext2) text_box.visible = on;ctext.visible = on;while(ke
9、y_space=1)wait(1);while(key_space=0)wait(1);while(key_space=1)wait(1);ctext.visible = off;text_box.visible = off; ,罗培羽教你制作3DRPG游戏,显示头像,罗培羽教你制作3DRPG游戏,bmap text_box_face = ; panel text_facepos_x = 0;pos_y = 0;layer = 1;bmap = text_box_face;alpha=100;flags = overlay,transparent,refresh; ,罗培羽教你制作3DRPG游
10、戏,function talk(mytext2) text_box.visible = on;text_face.visible = on;ctext.visible = on;ctext.visible = off;text_face.visible = off;text_box.visible = off; ,罗培羽教你制作3DRPG游戏,多幕对话,罗培羽教你制作3DRPG游戏,function do_npc() if(you=npc_old)talk(“你好1“);talk(“你好2“); 试试,罗培羽教你制作3DRPG游戏,function talk(mytext2) while(ct
11、rlable=0)wait(1); ,罗培羽教你制作3DRPG游戏,添加人物 多边形多个人物,罗培羽教你制作3DRPG游戏,整理并添加,以及关卡编辑器中设置动作entity* myplayer; action player_actmyplayer=me; entity* npc_old; action npc_act_oldnpc_old=me; entity* npc_child; action npc_act_childnpc_child=me;,罗培羽教你制作3DRPG游戏,function do_npc() if(you=npc_old) talk(“你好,我是长老“); if(you
12、=npc_child)talk(“你好,我是小孩“); ,罗培羽教你制作3DRPG游戏,变换脸型,罗培羽教你制作3DRPG游戏,bmap text_box_face = ; bmap text_box_face2 = ;if(you=npc_old) text_face.bmap = text_box_face; talk(“你好,我是长老“); if(you=npc_child) text_face.bmap = text_box_face2; talk(“你好,我是小孩“);,罗培羽教你制作3DRPG游戏,试试,罗培羽教你制作3DRPG游戏,为了更加方便调用,我们修改一下,罗培羽教你制作3
13、DRPG游戏,function talk(mytext2,face) while(ctrlable=0)wait(1);ctrlable=0;str_cpy(mytext,mytext2); text_face.bmap=face;myplayer.frame=0;ctext.visible = on;text_box.visible = on;text_face.visible = on;,罗培羽教你制作3DRPG游戏,function do_npc() if(you=npc_old) talk(“你好,我是长老“,text_box_face); if(you=npc_child) talk(“你好,我是小孩“,text_box_face2); ,罗培羽教你制作3DRPG游戏,你可以定义一些变量来控制剧情 比如定义变量 story 当 story为0时 npc_old说 帮我找孩子,谢谢 story=1 npc_child说 我是孩子 当 story为1时 npc_old说 快去找吧 npc_child说 主角:/n和我一起走去找爷爷,罗培羽教你制作3DRPG游戏,当然你也可以用其他编程工具(如VB)去编写一些能否辅助制作剧情的工具,罗培羽教你制作3DRPG游戏,谢谢支持,