成语大搦战,net开发中常用的第贰方组件

1.运用场景

  • 将汉字转换为拼音(eg:”笔者爱您”———>”WOAINI”)
  • 取各种汉字的首字母(eg:”小编是炎黄种人”———>”WSZGQX56″)

本篇将主要讲解游戏界面包车型地铁营造和统筹,会选用到egret.eui的自定义组件,能够很直观的创设贰个娱乐全部,那里大家照样只需求使用EgretWing就能够达到指标,本篇大概是篇幅最少的四个,但是关乎自定义组件和类继承,希望能够读者能够看精通,那对以往的嬉戏支付的思考援救尤其大。

码云项目推荐介绍

一 、项目名称: 普通话转拼音库 pinyin4j

澳门葡京备用网址 1

花色简介:Pinyin4j 是二个流行的 Java
库,帮忙普通话字符和拼音之间的变换。拼音输出格式能够定制。

花色地址:

贰 、项目名称:汉字/拼音转换工具库 Pinyin4Net

成语大搦战,net开发中常用的第贰方组件。项目简介:Pinyin4Net 是一个 .net 下的方块字/拼音转换工具库。现辅助.net2.0, .net4.0, .netcore1.1 ( standaedlib1.6 ),针对多个 .net
版本分别有二个支行。

接口:

  • 汉字单字转拼音
  • 汉字字符串转拼音
  • 汉字转拼音格式选项,可用大小写,声调以及对拼音中(v ü)的拍卖
  • 取得汉字多音字的持有读音
  • 依照拼音查询全数匹配的方块字
  • 姓名拼音单独数据库和独门的询问接口

品类地址:

三 、项目名称:php 拼音扩充 pinyin-php

品种简介:pinyin-php 是多少个 C 语言编写的 php
扩充,用于将汉字翻译为汉语拼音。通过逆序普通话分词的主意达成拉长多音字识别。将字词库置于程序之外通过
php.ini 配置文件钦赐路线加载。

品类地址:

④ 、项目名称:敏感词检查和测试组件

澳门葡京备用网址 2

品种简介:一款高质量非法词(敏感词)检查和测试组件,附带繁体简体交流,辅助全角半角交流,获取拼音首字母,获取拼音字母,拼音模糊搜索等效果。

品类地址:

澳门葡京备用网址,伍 、项目名称: 基于 PHP 的简繁体转换工具 ccsw

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

转换职能: 你干什么不干本人事 => 你幹什麼不干本人事

地面词汇转换职能: 作者鼠标哪个地方去了 => 作者滑鼠哪兒去了

类型地址:

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

澳门葡京备用网址 3

连串简介:本项目是透过拼音去匹配汉字,简单的讲,就是拼音搜索。

花色地址:

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

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

       

澳门葡京备用网址 4

 

澳门葡京备用网址 5

 

  下载LOFTER
笔者的相片书  |

 

2.关联到的零部件

  • 组件1:ToolGood.Words【我实际的正是那种】
  1. 零件名称:ToolGood.Words
  2. nuget地址:
  3. github地址【提示:500多个star】

自定义控件布局

码云一周更新表明

  • 代码片段编辑器帮忙高亮;
  • 代码片段搜索帮助内容的检索;
  • 增加产量 CSDN 第二方登录;
  • 修复项目转移后文件404的缓存难题;
  • 个人进步为团体以及集团保留代码片段;
  • P安德拉 合并援助 Squash Merge(即将必要 merge
    的八个提交合并成2个交到)。
  • 码云 马克down 解析器更换为 Common马克解析器

从前码云的解析器基于用户的反映做了不少定制化的改动,然则随着使用码云的用户更加多,以及愈发多的Github用户往码云上迁移,大家接收了好多用户反映,在Github平常解析渲染的Readme在码云上渲染出来的结果却具有出入,研商再三,大家决定将码云的
马克down 解析器更换为 CommonMark。

RSS.NET.dll

CRUISERSS.NET是一款操作汉兰达SS
feeds的开源.NET类库。它为分析和编排PRADOSS
feeds提供了三个可选拔的对象模型。它完全包容卡宴SS 0.90, 0.91, 0.92, 和
2.0.1等版本。

3.重庆大学代码

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));
            }

        }
    }
}

先是先创立多个名为SceneGameSkin的exml皮肤,直接在那中间拖拖拽拽拼出起先的界面:
澳门葡京备用网址 6

AspNetPager.dll

自笔者利用过的分页控件中,最好用的1个。

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

4.主要代码截图

澳门葡京备用网址 7

地方是题目区,上边是回复区,此时,找了了一下财富,发现字的正方没有放进财富文件,没提到,我们得以直接采用eui.Rect那些基本空间创立三个字块出来,exml描述如下:

Aspose.Words.dll

Aspose.Words
是三个无图形用户界面包车型地铁.NETWord文书档案的告诉控件,它可使.NET的行使在尚未安装Microsoft
Words的景况下读写Word文书档案。Aspose.Words支持尤其多的特色,例如:三个新文书档案的创建、操作,强大的邮件合并成效,并可将文书档案输出为
三种格式(DOC、PDF、HTML)等等。Aspose.Words在商海上是三个实在的最有利、飞速、特性丰富的Word控件。

5.倘使有任何好的机件推荐,欢迎各位大佬补充

澳门葡京备用网址 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

澳门葡京备用网址 9

ICSharpCode.SharpZipLib.dll

ICSharpCode.SharpZipLib.dll
是多个基于GNU的免费压缩解压库文件,他的职能很有力。像DNN等门类中都有使用

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

相关作品:《利用sharpziplib实现减少/解压缩》

看望是或不是和图片上的很像,在编辑器里的主导面板属性中是绝非ellipseWidth、ellipseHeight等等那个属性的,必要点属性栏右上角的有所属性标签才能显得,然后微调即可。

UrlRewriter.NET

AMDligencia出品的开源组件UrlRewriter组件。

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

可是,唯有这一个字块背景是没用的,还须求充实Label来彰显文字,但要是二个二个的优秀就很麻烦了,能或无法采用skin来本身做一个自定组件本身管理并处理逻辑吗?那么些很简短,先构造二个skin然后配上2个自定义组件的代码就足以兑现了。

CookComputing.XmlRpc.dl

举行xmlrpc的零部件,例如:使用客户端软件metablogapi操作blog时会用到。

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

有关文章:

《MetaWeblog
API》

《采用Cooke
Computing组件达成XmlPRADOPC,让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添加代码高亮展现的效劳》 

澳门葡京备用网址 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
内容解析库》

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

LINQBridge.dll

一旦你早已喜欢上LINQ,并且一度离不开它,一写代码就会用到增添方法,Lambda表明式和LINQ;可是刚刚,你无法说服你的客户的机器上都装上.NET
3.5,这时候如何做吧?那时候,LINQBridge能够让您的标题一蹴而就。

连带作品:

《LINQBridge.dll
让你的LINQ代码可在.NET
2.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设计器的零件里就能收看1个Word自定义组件,然后将它拖进SceneGameSkin里,奇怪,怎么怎么都并未吗,因为还一贯不点名皮肤:

澳门葡京备用网址 11 澳门葡京备用网址 12

点名好肌肤后,就会显得正确了,上面伊始开始展览布局操作,拖放摆好Group到SceneGameSkin的界面中,这里就足以用上Group的布局天性,比如下边包车型大巴作答字里一共是18个汉字,能够应用Tile的艺术排列成1个一成不变的阵列:

澳门葡京备用网址 13

同样上边的题材栏中,能够动用Group的横向排列,调整你的界面直到知足。

澳门葡京备用网址 14

一连的法门壮大自定义组件

那么好了,自此基本寒食经到位,一般的话,前面就能够完全靠代码控制来兑现字块的体现和处理了,但那还不够,因为下边包车型地铁字和方面包车型地铁字即使样子一样,但处理的逻辑不雷同,比如说,上面包车型大巴字是有些就和好没有,同时将文件放置到地方的答案中,而地方的字点击就会移除本身的文件显示,同时将下边包车型客车附和字块展现出来,假设用相比较笨的主意,正是在代码中加八个字典对应起来,然后扩充一大堆,看起来很绕圈的代码,其实这里的游艺逻辑很简单,3个答案字只会相应多少个回复字,要是在组件上带上回答字块的指标,不就好处理了啊?假使每种Word控件都增多二个变量保存选定太显得暴力,那里能够行使持续增添2个SelectWord变量,而别的的逻辑能够透过重载方法来保证代码的简洁性,上边便是贯彻了2个继续自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代码如下:

澳门葡京备用网址 15澳门葡京备用网址 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能源方面请到其次篇的末端下载) 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website