1 / 45

罗培羽 — 教你制作 3DRPG 游戏

罗培羽 — 教你制作 3DRPG 游戏. 罗培羽 — 教你制作 3DRPG 游戏. 罗培羽 作品 网名:碧俐千仞 QQ:345697666 E-mail:tyxxxx@qq.com. 第二节: Never Be Alone. 罗培羽 — 教你制作 3DRPG 游戏. entity* npc_old; 我们先创建一个“名字” NPC_old action npc_act_old{npc=me;} 再有一个动作,让在关卡编辑器里设置的动作为 npc_act_old 的角色“名字”叫做 npc_old. 罗培羽 — 教你制作 3DRPG 游戏.

yehuda
Download Presentation

罗培羽 — 教你制作 3DRPG 游戏

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 罗培羽—教你制作3DRPG游戏

  2. 罗培羽—教你制作3DRPG游戏 罗培羽 作品 网名:碧俐千仞 QQ:345697666 E-mail:tyxxxx@qq.com

  3. 第二节:Never Be Alone

  4. 罗培羽—教你制作3DRPG游戏 entity* npc_old; 我们先创建一个“名字”NPC_old action npc_act_old{npc=me;} 再有一个动作,让在关卡编辑器里设置的动作为npc_act_old的角色“名字”叫做npc_old

  5. 罗培羽—教你制作3DRPG游戏 c_trace(向量一,向量二,参数); 判断从向量一到向量二之间是否有障碍物,如果没有就返回值就为0

  6. 罗培羽—教你制作3DRPG游戏 长老属性多边形

  7. 罗培羽—教你制作3DRPG游戏 VECTOR( myplayer.x, myplayer.y, myplayer.z ) 角色位置

  8. 罗培羽—教你制作3DRPG游戏 VECTOR( myplayer.x+cos(myplayer.pan)*30, myplayer.y+sin(myplayer.pan)*30, myplayer.z ) 角色正前方的位置 判断线

  9. 罗培羽—教你制作3DRPG游戏 if(key_space==1)//空格 { c_trace(VECTOR(myplayer.x+cos(myplayer.pan)*30,myplayer.y+sin(myplayer.pan)*30,myplayer.z), VECTOR(myplayer.x,myplayer.y,myplayer.z),IGNORE_PASSABLE|IGNORE_ME); if(you==npc_old){myplayer.z+=10;} } myplayer.z+=10 句只是作为一个判断,看看能不能判断到实体

  10. 罗培羽—教你制作3DRPG游戏 试试 看看角色坐标能不能改变

  11. 罗培羽—教你制作3DRPG游戏 我们要的是显示对话框和文字

  12. 罗培羽—教你制作3DRPG游戏 定义字体,字体,粗体?斜体?,大小 font text_font = "Arial",0,20; string mytext="hello"; text ctext { font= text_font; layer=2;pos_x=20;pos_y=480; strings=1; string=mytext; } 定义字符串 定义可以显示文字的“面板”,这个就是可以显示的了 字体 层和坐标 字符串数量 显示的字符串

  13. 罗培羽—教你制作3DRPG游戏 if(you==npc){do_npc();} function do_npc() { ctext.visible = on; } 这个visible属性让文字可以显示

  14. 罗培羽—教你制作3DRPG游戏 试试

  15. 罗培羽—教你制作3DRPG游戏 对话过程中要不能控制主角 var ctrlable = 1; 定义变量ctrlable while(myplayer==null){wait(1);} while(1) { if(ctrlable==1){do_role();} wait(1); }

  16. 罗培羽—教你制作3DRPG游戏 function talk() { ctrlable=0; myplayer.frame=0; ctext.visible = on; }

  17. 罗培羽—教你制作3DRPG游戏 删去前面的if(you==npc_old) function do_npc() { if(you==npc_old) {talk();} }

  18. 罗培羽—教你制作3DRPG游戏 让文字在按下空格后消失

  19. 罗培羽—教你制作3DRPG游戏 function talk() { ctrlable=0; myplayer.frame=0; ctext.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; } 放开继续 按下继续 放开继续

  20. 罗培羽—教你制作3DRPG游戏 改变说话内容

  21. 罗培羽—教你制作3DRPG游戏 function talk(mytext2) { ctrlable=0; str_cpy(mytext,mytext2);//mytext=mytext2 myplayer.frame=0; ctext.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; }

  22. 罗培羽—教你制作3DRPG游戏 function do_npc() { talk(“文字”); }

  23. 罗培羽—教你制作3DRPG游戏 修改几次看看 string mytext=“……”;换成 string mytext; 不然会有限制

  24. 罗培羽—教你制作3DRPG游戏 显示底框

  25. 罗培羽—教你制作3DRPG游戏 定义图片 bmap text_box_map = <textpanel.pcx>; panel text_box{ pos_x = 0; pos_y = 455; layer = 1; bmap = text_box_map; alpha=80; flags = overlay,transparent,refresh; } 定义面板 位置 层 设置图片 透明度 透明色有效 这个参数存在透明度才有效

  26. 罗培羽—教你制作3DRPG游戏 starter start_up() { d3d_autotransparency = 1; …… 对于overlay属性 1 –左上角颜色为透明 0 –黑色为透明

  27. 罗培羽—教你制作3DRPG游戏 function talk(mytext2) { …… text_box.visible = on; ctext.visible = on; while(key_space==1){wait(1);} while(key_space==0){wait(1);} while(key_space==1){wait(1);} ctext.visible = off; text_box.visible = off; …… }

  28. 罗培羽—教你制作3DRPG游戏 显示头像

  29. 罗培羽—教你制作3DRPG游戏 bmap text_box_face = <长老.pcx>; panel text_face{ pos_x = 0; pos_y = 0; layer = 1; bmap = text_box_face; alpha=100; flags = overlay,transparent,refresh; }

  30. 罗培羽—教你制作3DRPG游戏 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; …… }

  31. 罗培羽—教你制作3DRPG游戏 多幕对话

  32. 罗培羽—教你制作3DRPG游戏 function do_npc() { if(you==npc_old) { talk("你好1"); talk("你好2"); } } 试试

  33. 罗培羽—教你制作3DRPG游戏 function talk(mytext2) { while(ctrlable==0){wait(1);} ……

  34. 罗培羽—教你制作3DRPG游戏 添加人物 多边形 多个人物

  35. 罗培羽—教你制作3DRPG游戏 整理并添加,以及关卡编辑器中设置动作 entity* myplayer; action player_act{myplayer=me;} entity* npc_old; action npc_act_old{npc_old=me;} entity* npc_child; action npc_act_child{npc_child=me;}

  36. 罗培羽—教你制作3DRPG游戏 function do_npc() { if(you==npc_old) {talk("你好,我是长老");} if(you==npc_child){talk("你好,我是小孩");} }

  37. 罗培羽—教你制作3DRPG游戏 变换脸型

  38. 罗培羽—教你制作3DRPG游戏 bmap text_box_face = <长老.pcx>; bmap text_box_face2 = <小孩.pcx>; if(you==npc_old) {text_face.bmap = text_box_face; talk("你好,我是长老");} if(you==npc_child) {text_face.bmap = text_box_face2; talk("你好,我是小孩");}

  39. 罗培羽—教你制作3DRPG游戏 试试

  40. 罗培羽—教你制作3DRPG游戏 为了更加方便调用,我们修改一下

  41. 罗培羽—教你制作3DRPG游戏 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; …… }

  42. 罗培羽—教你制作3DRPG游戏 function do_npc() { if(you==npc_old) {talk("你好,我是长老",text_box_face);} if(you==npc_child) {talk("你好,我是小孩",text_box_face2);} }

  43. 罗培羽—教你制作3DRPG游戏 你可以定义一些变量来控制剧情 比如定义变量 story 当 story为0时 npc_old说 帮我找孩子,谢谢 story=1 npc_child说 我是孩子 当 story为1时 npc_old说 快去找吧 npc_child说 主角:/n和我一起走去找爷爷

  44. 罗培羽—教你制作3DRPG游戏 当然你也可以用其他编程工具(如VB)去编写一些能否辅助制作剧情的工具

  45. 罗培羽—教你制作3DRPG游戏 谢谢支持

More Related