1.行使场景

  • 将汉字转换为拼音(eg:”笔者爱你”———>”WOAINI”)
  • 取种种汉字的首字母(eg:”笔者是中夏族民共和国人”———>”WSZG冠道”)

本篇将根本教师游戏界面包车型地铁营造和设计,会采取到egret.eui的自定义组件,能够很直观的营造一个游戏全体,那里大家照旧只必要利用EgretWing就足以直达指标,本篇大概是篇幅最少的一个,不过涉及自定义组件和类继承,希望能够读者能够看了解,那对以后的玩乐支付的研讨援助尤其大。

码云项目引进

一、项目名称: 粤语转拼音库 pinyin四j

金沙注册送58 1

类别简介:Pinyin肆j 是1个风行的 Java
库,帮助普通话字符和拼音之间的变换。拼音输出格式能够定制。

类别地址:

二、项目名称:汉字/拼音转换工具库 Pinyin四Net

品种简介:Pinyin4Net 是贰个 .net 下的方块字/拼音转换工具库。现帮助.net2.0, .net四.0, .netcore壹.1 ( standaedlib一.陆 ),针对四个 .net
版本分别有二个分支。

接口:

  • 汉字单字转拼音
  • 汉字字符串转拼音
  • 汉字转拼音格式选项,可用大小写,声调以及对拼音中(v ü)的处理
  • 拿到汉字多音字的持有读音
  • 根据拼音查询全部匹配的方块字
  • 姓名拼音单独数据库和单独的查询接口

品类地址:

3、项目名称:php 拼音增添 pinyin-php

花色简介:pinyin-php 是三个 C 语言编写的 php
扩大,用于将汉字翻译为中文拼音。通过逆序汉语分词的秘籍完毕抓好多音字识别。将字词库置于程序之外通过
php.ini 配置文件钦定路线加载。

类型地址:

四、项目名称:敏感词检查评定组件

金沙注册送58 2

花色简介:壹款高性能不合规词(敏感词)检测组件,附带繁体简体交换,协理全角半角交流,获取拼音首字母,获取拼音字母,拼音模糊搜索等效果。

品类地址:

伍、项目名称: 基于 PHP 的简繁体转换工具 ccsw

花色简介:ccsw 是遵照 opencc四 php
开发,能很智能的到位简繁体转换。作用如下所示:

转换职能: 你干什么不干自身事 => 你幹什麼不干自个儿事

地面词汇转换职能: 笔者鼠标哪儿去了 => 笔者滑鼠哪兒去了

品类地址:

陆、项目名称: 拼音搜索汉字工具 UTPinYinHelper

金沙注册送58 3

花色简介:本项目是经过拼音去匹配汉字,简单的话,就是拼音搜索。

品种地址:

.net开发中常用的第二方组件  

2013-05-09 09:33:32|  分类:
dotnet
|举报 |字号 订阅

       

金沙注册送58 4

 

金沙注册送58 5

 

  下载LOFTER
自身的肖像书  |

 

二.关系到的组件

  • 游戏界面创设和设计,陆款程序员必备的开源中文处理工科具。零件1:ToolGood.Words【小编其实的正是那种】
  1. 零件名称:ToolGood.Words
  2. nuget地址:
  3. github地址【提示:500多个star】

自定义控件布局

码云十17日更新表明

  • 代码片段编辑器扶助高亮;
  • 代码片段搜索扶助内容的查找;
  • 增加产量 CSDN 第壹方登录;
  • 修复项目转移后文件40四的缓存难点;
  • 村办升迁为组织以及公司保留代码片段;
  • P奥迪Q5 合并协助 Squash Merge(即将要求 merge
    的几个提交合并成2个付出)。
  • 码云 马克down 解析器更换为 Common马克解析器

前边码云的解析器基于用户的反映做了无数定制化的修改,可是随着使用码云的用户更多,以及愈发多的Github用户往码云上迁移,大家接到了重重用户举报,在Github寻常解析渲染的Readme在码云上渲染出来的结果却持有出入,琢磨再3,我们决定将码云的
马克down 解析器更换为 Common马克。

RSS.NET.dll

翼虎SS.NET是壹款操作LANDSS
feeds的开源.NET类库。它为分析和编排WranglerSS
feeds提供了三个可选拔的对象模型。它完全包容安德拉SS 0.90, 0.玖1, 0.九二, 和
二.0.一等版本。

三.重大代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ToolGood.Words;

namespace PinYinXiangGuan
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {

                var name = Console.ReadLine();
                if (string.IsNullOrEmpty(name))
                {
                    break;
                }
                //获取汉字的首字母
                Console.WriteLine(WordsHelper.GetFirstPinYin(name));
            }

        }
    }
}

率先先创立3个名称为SceneGameSkin的exml皮肤,直接在那在那之中拖拖拽拽拼出发轫的界面:
金沙注册送58 6

AspNetPager.dll

自作者利用过的分页控件中,最佳用的一个。

法定地址:http://www.webdiyer.com/AspNetPager/default.aspx

四.首要代码截图

金沙注册送58 7

地点是题目区,上边是答复区,此时,找了了一下财富,发现字的4方未有放进财富文件,没提到,大家得以一贯动用eui.Rect那几个基本空间创立3个字块出来,exml描述如下:

Aspose.Words.dll

Aspose.Words
是贰个无图形用户界面包车型大巴.NETWord文书档案的告知控件,它可使.NET的采纳在尚未安装Microsoft
Words的情况下读写Word文档。Aspose.Words辅助尤其多的特色,例如:二个新文书档案的创设、操作,强大的邮件合并功效,并可将文书档案输出为
多种格式(DOC、PDF、HTML)等等。Aspose.Words在市面上是2个真的的最有利于、快速、天性丰硕的Word控件。

五.如若有其余好的零件推荐,欢迎各位大佬补充

金沙注册送58 8

<e:Rect ellipseWidth="20" fillColor="0xFFFFFF" strokeColor="0x0276D0" strokeWeight="4" ellipseHeight="20" right="0" left="0" bottom="0" top="0"/>

SgmlReaderDll.dll

Microsoft 的XML大师Chris
Lovett在
甚至将它们转换来贰个格式规范的构造。SgmlReader派生于XmlReader,那正是说,你能够像运用诸如XmlTextReader那样的类来
解析XML文件这样来解析HTML文件。

以身作则地址:http://www.xmlforasp.net/codeSection.aspx?csID=94

金沙注册送58 9

ICSharpCode.SharpZipLib.dll

ICSharpCode.夏普ZipLib.dll
是三个基于GNU的免费压缩解压库文件,他的职能很强劲。像DNN等项目中都有应用

下载地址:http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx

有关文章:《选取sharpziplib达成收缩/解压缩》

探访是或不是和图片上的很像,在编辑器里的基本面板属性中是未有ellipseWidth、ellipseHeight等等那一个属性的,必要点属性栏右上角的富有属性标签才能显得,然后微调即可。

金沙注册送58 ,UrlRewriter.NET

英特尔ligencia出品的开源组件UrlRewriter组件。

官网地址:http://urlrewriter.net/ 

不过,唯有那些字块背景是没用的,还要求扩张Label来展现文字,但假诺三个七个的协作就很艰难了,能还是不可能动用skin来自个儿做3个自定组件本身管理并拍卖逻辑吗?这一个很简短,先构造一个skin然后配上叁个自定义组件的代码就能够完毕了。

CookComputing.XmlRpc.dl

拓展xmlrpc的机件,例如:使用客户端软件metablogapi操作blog时会用到。

下载地址:http://www.xml-rpc.net/

有关小说:

《MetaWeblog
API》

《利用Cooke
Computing组件完毕Xml奥迪Q5PC,让blog支持客户端工具》

新建1个基于eui.Component的皮层,大小设置为80×80:

CodeHighlighter

CodeHighlighter is是.net环境下最精锐的源代码语法高亮组件.代码语法高亮是很展现专业性的性状,扩张了代码的易读性.只须求以内联或那编制程序设置文本属性的主意告诉CodeHighlighter,
在代码就会以语法高亮的样式出口展现.还协助自定义语言,行号,关键词连接等. 

官网地址:http://www.actiprosoftware.com

相关小说:

《ASP.NET代码高亮呈现控件:Actipro
CodeHighlighter》

《使用CodeHighlighter给Cute艾德itor扩大高亮代码呈现效果》

《 采纳CodeHighlighter和SyntaxHighlighter为
fckeditor增添语法高亮》

《 为论坛和Blog添加代码高亮显示的功能》 

金沙注册送58 10

Castle.DynamicProxy

    
java中有动态代理的定义,DotNet中从未,castle的DynamicProxy便是提供了就如于java动态代理的效益。动态代理是累累现代
软件技术的底子,例如AOP,以往有习以为常品种中动用了castle的DynamicProxy,他们包罗:NHibernate,Retina.Net,iBatis.Net,Aspect#,RhinoMocks

官网地址:http://www.castleproject.org/

相关:

《 Castle Dynamic Proxy
tutorial 》 

《Castle.DynamicProxy介绍 》

《选择Castle
DynamicProxy达成不难的AOP》

《 Castle.DynamicProxy在iBATIS.NET中的使用》

<?xml version='1.0' encoding='utf-8'?>
<e:Skin class="WordSkin" width="80" height="80" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing">
    <e:Rect ellipseWidth="20" fillColor="0xFFFFFF" strokeColor="0x0276D0" strokeWeight="4" ellipseHeight="20" right="0" left="0" bottom="0" top="0"/>
    <e:Label id="lb_text" text="字" horizontalCenter="0" verticalCenter="0" textColor="0x000000" size="60"/>
</e:Skin>

aspNetMime.dll

aspNetMime.dll是三个强大的解析email文件的类库.

官网地址:http://www.aspnetmime.com

连带小说:

《aspNetMime.dll:email
内容解析库》

新建1个typescript类,那里的名字就叫Word,继承自eui.Component,处理代码如下:

LINQBridge.dll

若是你已经喜欢上LINQ,并且一度离不开它,1写代码就会用到扩张方法,拉姆da表明式和LINQ;然而恰恰,你不能说服你的客户的机械上都装上.NET
三.5,那时候怎么做呢?那时候,LINQBridge能够让您的题材化解。

相关小说:

《LINQBridge.dll
让你的LINQ代码可在.NET
二.0下运作》

//普通的一个字,用来做问题的字块使用
class Word extends eui.Component {
    protected lb_text:eui.Label;
    public constructor() {
          super();
          this.addEventListener(egret.TouchEvent.TOUCH_TAP,this.onclick_tap,this);
    }
    protected onclick_tap(){
        console.log(this.lb_text.text);
    }
    //这里没有做成属性的原因是因为当应用到eui的时候,Skin还未指定,运行时候会出现报错,如果指定了SkinName,那么就会产生两次eui的构建浪费内存
    public setWordText(value:string){
        this.lb_text.text = value;
    }
    public getWordText():string{
        return this.lb_text.text;
    }
}

保存编译一下,然后在UI设计器的零部件里就能收看七个Word自定义组件,然后将它拖进SceneGameSkin里,奇怪,怎么什么都未曾吗,因为还并未有点名皮肤:

金沙注册送58 11 金沙注册送58 12

点名好皮肤后,就会来得正确了,下边开始举办布局操作,拖放摆好Group到SceneGameSkin的界面中,那里就能够用上Group的布局性格,比如下边包车型地铁答疑字里壹共是1九个汉字,能够动用Tile的办法排列成贰个静止的阵列:

金沙注册送58 13

1致上边的难点栏中,能够选取Group的横向排列,调整你的界面直到满意。

金沙注册送58 14

后续的不二等秘书诀增添自定义组件

这就是说好了,自此基本三月经成功,1般的话,后边就足以完全靠代码控制来兑现字块的显示和拍卖了,但那还不够,因为下边包车型大巴字和地点的字固然样子一样,但拍卖的逻辑不平等,比如说,上面包车型客车字是1些就自身没有,同时将文件放置到下面的答案中,而地点的字点击就会移除自个儿的文书呈现,同时将上面包车型客车对应字块呈现出来,假若用对比笨的艺术,就是在代码中加3个字典对应起来,然后扩张一大堆,看起来很绕圈的代码,其实那里的娱乐逻辑很简短,3个答案字只会相应三个回应字,假设在组件上带上回答字块的对象,不就好处理了吗?假使各样Word控件都增多八个变量保存选定太显得暴力,那里能够利用持续增添1个SelectWord变量,而另外的逻辑能够因此重载方法来保证代码的简洁性,上面正是实现了多个无冕自Word的AnswerWord类,那些类同样在保留编写翻译后,也会现出在自定义组件中,

//继承自“问题字”,“答案字”是放在上面回答区域,
//由于当答案字点击的时候,答案字会消失并将对应的问题字还原显示
class AnswerWord extends Word{
    public SelectWord:Word = null;
    public constructor() {
        super();
    }
    protected onclick_tap() {
        if(this.SelectWord != null){
            this.SelectWord.visible = true;
            this.SelectWord = null;
            this.setWordText("");
        }
        console.log("AnswerWord");
    }
    //当一个问题字被选择添加到回答的时,设置不可见,并保存到本对象中以后使用
    public SetSelectWord(word:Word){
        word.visible = false;
        this.setWordText(word.getWordText());
        this.SelectWord = word;
    }
}

那正是说我们将地方的八个汉字都给替换到AnswerWord,点击一下尝试看看命令栏里的出口,不领会的能够参照上边的注释。

末尾的SceneGameSkin.exml代码如下:

金沙注册送58 15金沙注册送58 16

<?xml version='1.0' encoding='utf-8'?>
<e:Skin class="SceneGameSkin" width="720" height="1136" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing" xmlns:ns1="*">
    <e:Image source="GameBG3_jpg" left="0" top="0" bottom="0" right="0"/>
    <e:Image source="WordFrame_png" x="39" y="120"/>
    <e:Group id="group_words" width="538" height="417" x="108" y="637">
        <ns1:Word x="80" y="106" skinName="WordSkin"/>
        <ns1:Word skinName="WordSkin" y="116" x="90"/>
        <ns1:Word skinName="WordSkin" y="126" x="100"/>
        <ns1:Word skinName="WordSkin" y="136" x="110"/>
        <ns1:Word skinName="WordSkin" y="146" x="120"/>
        <ns1:Word skinName="WordSkin" y="156" x="130"/>
        <ns1:Word skinName="WordSkin" y="166" x="140"/>
        <ns1:Word skinName="WordSkin" y="176" x="150"/>
        <ns1:Word skinName="WordSkin" y="186" x="160"/>
        <ns1:Word skinName="WordSkin" y="196" x="170"/>
        <ns1:Word skinName="WordSkin" y="206" x="180"/>
        <ns1:Word skinName="WordSkin" y="216" x="190"/>
        <ns1:Word skinName="WordSkin" y="226" x="200"/>
        <ns1:Word skinName="WordSkin" y="236" x="210"/>
        <ns1:Word skinName="WordSkin" y="246" x="220"/>
        <ns1:Word skinName="WordSkin" y="256" x="230"/>
        <ns1:Word skinName="WordSkin" y="266" x="240"/>
        <ns1:Word skinName="WordSkin" y="276" x="250"/>
        <ns1:Word skinName="WordSkin" y="286" x="260"/>
        <ns1:Word skinName="WordSkin" y="296" x="270"/>
        <e:layout>
            <e:TileLayout horizontalGap="30" verticalGap="30"/>
        </e:layout>
    </e:Group>
    <e:Button id="btn_back" x="11" y="8">
        <e:skinName>
            <e:Skin states="up,down,disabled">
                <e:Image width="100%" height="100%" source="BackBtn_png" source.down="BackBtn1_png"/>
                <e:Label id="labelDisplay" horizontalCenter="0" verticalCenter="0"/>
            </e:Skin>
        </e:skinName>
    </e:Button>
    <e:Image id="img_question" width="390" height="260" y="179" horizontalCenter="0"/>
    <e:Group id="group_answer" width="373" height="95" x="177" y="464">
        <ns1:AnswerWord skinName="WordSkin" y="478" x="185"/>
        <ns1:AnswerWord skinName="WordSkin" y="478" x="284"/>
        <ns1:AnswerWord skinName="WordSkin" y="478" x="378"/>
        <ns1:AnswerWord skinName="WordSkin" y="478" x="475"/>
        <e:layout>
            <e:HorizontalLayout gap="15"/>
        </e:layout>
    </e:Group>
</e:Skin>

SceneGameSkin.exml

本篇已经收尾,这里上学使用了自定义组件、类继承(或说组件继承),来搭建和设计游戏的主界面,将基础做好,前面包车型大巴开支工作就容易很多了。

本篇项目源码:ChengyuTiaozhan3.zip(由于微博的文件大小限制,resource财富方面请到第三篇的背后下载) 

相关文章

网站地图xml地图