"use strict"

var _dialogMsgBottom = null;
var _dialogMsgTop = null;
var _dialogMsgId = ;
var _dialogConfig = null;
var _dialogId = ; var DialogLayer = cc.Layer.extend({ init:function () {
var bRet = false;
if (this._super()) { // 底图
var sp = cc.Sprite.createWithSpriteFrameName("bg01.jpg"); //cc.Sprite.create(s_loading);
sp.setAnchorPoint(AnchorPointBottomLeft);
this.addChild(sp, g_GameZOder.bg, ); // 灰底,透明
var dialogBg1 = cc.Sprite.createWithSpriteFrameName("dg1.png");
dialogBg1.setAnchorPoint(AnchorPointBottomLeft);
dialogBg1.setPosition(cc.p(,));
this.addChild(dialogBg1, g_GameZOder.ui); // 下面的黑色背景
var dialogBg2 = cc.Sprite.createWithSpriteFrameName("dg2.png");
dialogBg2.setAnchorPoint(AnchorPointBottomLeft);
dialogBg2.setPosition(cc.p(,));
this.addChild(dialogBg2, g_GameZOder.ui); // 上面的黑色背景
var dialogBg3 = cc.Sprite.createWithSpriteFrameName("dg2.png");
dialogBg3.setAnchorPoint(AnchorPointTopLeft);
dialogBg3.setPosition(cc.p(,winSize.height));
this.addChild(dialogBg3, g_GameZOder.ui); // 菜单
cc.MenuItemFont.setFontSize();
cc.MenuItemFont.setFontName("Arial");
var systemMenu = cc.MenuItemFont.create("NEXT", this.showNextMsg);
var menu = cc.Menu.create(systemMenu);
menu.setPosition(, );
systemMenu.setAnchorPoint(cc.p(, ));
systemMenu.setPosition(winSize.width-, );
this.addChild(menu, g_GameZOder.ui, ); _dialogConfig = DialogConfig[_dialogId]; this.showFirstMsg(); bRet = true;
} return bRet;
},
showNextMsg:function (pSender) {
_dialogMsgId++; if (_dialogMsgId >= _dialogConfig.msg.length) {
// 显示完所有对话,跳转执行
cc.Loader.preload(g_maingame, function () {
var scene = cc.Scene.create();
scene.addChild(GameLayer.create());
// 游戏里面菜单
// scene.addChild(GameControlMenu.create());
cc.Director.getInstance().replaceScene(cc.TransitionFade.create(1.2, scene));
}, this);
}
else {
if (_dialogConfig.msg[_dialogMsgId]) {
if (_dialogMsgId % == ) {
_dialogMsgTop.setString(_dialogConfig.msg[_dialogMsgId]);
}
else {
_dialogMsgBottom.setString(_dialogConfig.msg[_dialogMsgId]);
}
}
}
},
showFirstMsg:function() { var photoTop = cc.Sprite.createWithSpriteFrameName(_dialogConfig.textureNameTop);
photoTop.setPosition(,winSize.height-);
this.addChild(photoTop, g_GameZOder.ui);
var xPos = photoTop.getContentSize().width; _dialogMsgTop = cc.LabelTTF.create(_dialogConfig.msg[_dialogMsgId],"华文黑体",);
_dialogMsgTop.setAnchorPoint(AnchorPointBottomLeft);
_dialogMsgTop.setPosition(cc.p(xPos, winSize.height-));
this.addChild(_dialogMsgTop, g_GameZOder.ui); var photoBottom = cc.Sprite.createWithSpriteFrameName(_dialogConfig.textureNameBottom);
photoBottom.setPosition(,);
this.addChild(photoBottom, g_GameZOder.ui);
_dialogMsgBottom = cc.LabelTTF.create("","华文黑体",);
_dialogMsgBottom.setAnchorPoint(AnchorPointBottomLeft);
_dialogMsgBottom.setPosition(cc.p(xPos, ));
this.addChild(_dialogMsgBottom, g_GameZOder.ui, );
}
}); DialogLayer.create = function () {
var sg = new DialogLayer();
if (sg && sg.init()) {
return sg;
}
return null;
};

cocos2d-html5对话界面设计的更多相关文章

  1. 25个让人无法抗拒的HTML5网站设计实例

    原文地址:http://www.goodfav.com/html5-website-designs-8272.html HTML5在其功能方面给网络市场带来了惊人的改进. HTML5是万维网联盟,在起 ...

  2. 微信HTML5页面设计建议

    一个HTML5页面从提出到完成上线的流程:>   1.需求方.设计人员.H5实现人员三方共同讨论实现方案 2.设计人员出设计图 3.H5人员按设计图出H5页面 4.需求方评估已实现的H5页面后给 ...

  3. 写给“有钱大爷”、”美工殿下”、“前端文艺青年”的微信HTML5页面设计建议

    ==============================   2018更新 iphone X 的设计内容   ==============================     我保证你一分钟就 ...

  4. HTML5的设计目的是为了在移动设备上支持多媒体

    HTML5的设计目的是为了在移动设备上支持多媒体

  5. HTML5游戏设计与开发 小白7-9月的动态

    好久没有更新博客了,最近在努力修炼提升逼格,当然了还有个恶心的毕业论文... 当然啦...在写这个论文的时候也就是为了提升下自身的技术,毕竟我的公司也不是游戏公司,SO 我决定开发个手机游戏.然后考虑 ...

  6. 论文的构思!姚小白的html5游戏设计开发与构思----给审核我论文的导师看的

    此处只为笔记 游戏么基本上确定是用canvas做个能一只手玩的游戏!基本打飞机之类的.毕竟手机也就上下班玩玩的.上下班么基本就是一只手拉着扶手一只手撸啊撸! 当然啦,如果能搞出超级牛逼的游戏,比如刺客 ...

  7. 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第14门课程:Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&HTML5架构设计与实战开发

    掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术: 一次彻底的Android架构.思想和实战技术的洗礼: 彻底掌握Andorid HAL.Android Runtime ...

  8. 推荐十款非常优秀的 HTML5 在线设计工具

    网络有很多优秀的设计和开发工具可能大家都不知道,因此这篇文章就向设计师推荐十款优秀 HTML5 在线工具,这些工具能够帮助设计师们设计出更有创意的作品.随着 HTML5 技术的不断成熟,网络上涌现出越 ...

  9. 使用HTML5 WebDataBase设计离线数据库

    基于HTML5的Web DataBase 可以让你在浏览器中进行数据持久地存储管理和有效查询,假设你的离线应用程序有需要规范化的存储功能,那么使用Web DataBase,可以使你的应用程序无论是在离 ...

  10. Adobe推出HTML5动画设计工具Edge

    HTML5和Flash,是敌对?是共存? 虽然Flash如今依旧牢牢占领着网络动画的大半江山,但这样的状况终将会被改变. 那么,Edge的推出是否意味着Adobe将放弃和屈服于Flash与HTML5之 ...

随机推荐

  1. 汉字编码:GB2312, GBK, GB18030, Big5

    前一篇博文:ANSI是什么编码?中有这样一段小故事: 话说计算机是由美国佬搞出来的嘛,他们觉得一个字节(可以表示256个编码)表示英语世界里所有的字母.数字和常用特殊符号已经绰绰有余了(其实ASCII ...

  2. leetcode Database3(Nth Highest Salary<—>Consecutive Numbers<—>Department Highest Salary)

    一.Nth Highest Salary Write a SQL query to get the nth highest salary from the Employee table. +----+ ...

  3. .NET动态加载用户控件并传值的方法

    ASPX.CS里的代码: VoteChat.GetType().GetProperty("vid").SetValue(VoteChat, model.id.ToString(), ...

  4. 如何为Eclipse安装Eclipse Marketplace插件

    Eclipse Marketplace是个插件应用商店,很实用的一个功能. 打开 eclipse,help--Eclipse Marketplace Client就能找到 有的eclipse中没有这个 ...

  5. Android 用户界面---拖放(Drag and Drop)(二)

      拖拽事件监听器和回调方法 View对象既可以用实现View.OnDragListener接口的拖放事件监听器,也可以用View对象的onDragEvent(DragEvent)回调方法来接收拖拽事 ...

  6. 30个实用的Linux find命令

    除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易.本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令 . 首先,在你 ...

  7. exception is org.hibernate.exception.DataException: Could not execute JDBC batch update at

    没有什么问题,但是却报了Could not execute JDBC batch update的错,主要是配置文件设置了关联,数据却没有关联造成的,只要数据正确就没有问题. 另外,造成这个原因的还可能 ...

  8. 【自动化测试】PO思路

    http://blog.csdn.net/liubofengpython/article/details/7720078

  9. 在centOS中加入本地ISO yum源

    注:本文转载自<liujun_live的博客>,感谢原博主的辛勤写作:原文地址:http://blog.sina.com.cn/s/blog_8ea8e9d50101em6f.html 在 ...

  10. java web项目导入问题

    由于工作问题,接触到很多其他人的项目,有时候想要直接跑起来,还是需要一定的耐力. 1:导入不进去,干脆新建项目,一个个复制进去: 2:第三方jar包不要忘记,核实jdk    j2ee的版本,编译路径 ...