`
china34420
  • 浏览: 136377 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一个漂亮的音标键盘

 
阅读更多
/*******************************************************/
/*自定义键盘*/
/*******************************************************/

//50个按钮
var totalBtnNum:int = 50;
//每一行有12个按钮
var lineBtnNum:int = 12;
//按钮的宽和高
var btnWidth:Number = 30;
var btnHeight:Number = 30;
//按钮的行和列间距
var rw:Number = 5;
var lw:Number = 5;
//整体按钮的左上角点
var destPoint:Point = new Point(bgMc.x + 10, bgMc.y + 10);

//创建滤镜
//投影
var dsf:DropShadowFilter = new DropShadowFilter(2, 90, 0x333333, 1, 2, 1, 1, 1, false, false, false);
//模糊
var bf:BlurFilter = new BlurFilter(1, 1, 1);
//发光
var gf:GlowFilter = new GlowFilter(0xFF0000, 1, 6, 6, 1, 1, false, false);


//所有字母按钮
var btns:Array = new Array();
var letters:Array = ["ɑ","ā","á","à","ǎ","b","c","d","e","ē",
					 "é","ě","è","f","ɡ","h","i","ī","í","ǐ",
					 "ì","j","k","l","m","n","o","ō","ó","ǒ",
					 "ò","p","q","r","s","t","u","ū","ú","ǔ",
					 "ù","ü","ǖ","ǘ","ǚ","ǜ","w","x","y","z"];
for (var i:int = 1; i <= totalBtnNum; i++) {
	var btn:Sprite = createBtn(btnWidth, btnHeight, letters[i - 1], 24);
	btn.name = letters[i - 1];
	var t:int = i % lineBtnNum;
	btn.x = destPoint.x + (btn.width + rw) * int((t != 0?t : lineBtnNum) - 1);
	btn.y = destPoint.y + (btn.height + lw) * int((i - 1) / lineBtnNum);
	this.addChild(btn);
	btns.push(btn);
}

//回车按钮
var enterBtn:Sprite = createBtn((btnWidth + rw) * 5 - rw, btnHeight, "回车(Enter)", 12);
enterBtn.name = "enter";
enterBtn.x = destPoint.x + int(totalBtnNum % lineBtnNum + 3) * (btnWidth + rw);
enterBtn.y = destPoint.y + int(totalBtnNum / lineBtnNum) * (btnHeight + lw);
this.addChild(enterBtn);
btns.push(enterBtn);

//删除按钮
var delBtn:Sprite = createBtn((btnWidth + rw) * 2 - rw, btnHeight, "删除(Del)", 12);
delBtn.name = "del";
delBtn.x = enterBtn.x + enterBtn.width + 4;
delBtn.y = enterBtn.y;
this.addChild(delBtn);
btns.push(delBtn);

//创建按钮监听
var tempBtn:Sprite = new Sprite();
for(i = 0; i < btns.length; i++){
	btns[i].addEventListener(MouseEvent.MOUSE_DOWN, downHandler);
	btns[i].addEventListener(MouseEvent.CLICK, clickHandler);
}
function downHandler(e:MouseEvent):void{
	stage.addEventListener(MouseEvent.MOUSE_UP, upHandler);
	tempBtn = e.currentTarget as Sprite;
	tempBtn.filters = [bf, gf];//
}
function upHandler(e:MouseEvent):void{
	stage.removeEventListener(MouseEvent.MOUSE_UP, upHandler);
	tempBtn.filters = [dsf];
}
import com.zkl.maths.test.MathsKeyboardEvent;
function clickHandler(e:MouseEvent):void{
	var key:String = e.currentTarget.name;
	var eventString:String = MathsKeyboardEvent.NUMKEY;
	if (key == "del") {
		eventString = MathsKeyboardEvent.DELETE;
	}else if (key == "enter") {
		eventString = MathsKeyboardEvent.ENTER;
	}
	this.dispatchEvent(new MathsKeyboardEvent(eventString, key));
}

//创建按钮
function createBtn(w:Number, h:Number, txt:String = null, size:Number = 20):Sprite{
	var btn:Sprite = new Sprite();
	btn.graphics.beginFill(0xFFFFFF);
	btn.graphics.drawRoundRect(0, 0, w, h, 8, 8);
	btn.graphics.endFill();
	btn.filters = [dsf];
	if(txt != null){
		var field:TextField = new TextField();
		field.defaultTextFormat = format(size);
		field.autoSize = TextFieldAutoSize.CENTER;
		field.selectable = false;
		field.text = txt;
		//field.width = 20;
		//field.height = 20;
		field.x = (w - field.width) / 2;
		field.y = (h - field.height) / 2;
		btn.addChild(field);
	}
	btn.blendMode = BlendMode.LAYER;
	return btn;
}

function format(size:Number):TextFormat{
	var format:TextFormat = new TextFormat();
	format.font = "宋体";
	format.size = size;
	format.color = 0x666666;
	return format;
}
//
分享到:
评论

相关推荐

    MFC一个漂亮的登录框带小键盘密码输入

    综上所述,使用MFC实现“一个漂亮的登录框带小键盘密码输入”涉及到MFC对话框的创建、控件布局、事件处理、样式设计等多个方面,是MFC应用程序开发中常见且实用的功能实现。通过熟练掌握这些技巧,可以构建出既美观...

    漂亮C#软键盘(小键盘)源代码,c语言键盘,C#

    标题中提到的“漂亮C#软键盘(小键盘)”源代码,可能是指一个用C#实现的图形化软键盘,这种键盘通常用于模拟硬件小键盘的功能,尤其适用于那些需要输入数字或者特殊字符的应用场景,比如在线支付、密码输入等。...

    漂亮C#软键盘(小键盘)源代码

    描述中提到的“非常不错的软键盘(小键盘),适合开发人员参考”,意味着这个源代码实现了一个功能完善且用户体验良好的虚拟键盘,开发者可以学习和借鉴其设计思路和技术实现,用于自己的项目中。对于C#开发者来说,...

    漂亮虚拟键盘源码.rar

    标题中的“漂亮虚拟键盘源码.rar”表明这是一个包含C#编程语言实现的虚拟键盘软件的源代码文件。这种虚拟键盘通常用于提供一个图形用户界面(GUI),用户可以通过鼠标或触摸屏输入文字,常见于无物理键盘的设备或者...

    快速测试键盘软件-键盘检测工具是一个有用的键盘测试工具软件

    键盘检测工具是一个有用的键盘测试工具软件,利用它可以很快的检测出键盘上键位的好坏,并根据测试参数判定键盘的优劣。对于爱好打字的用户来说,该软件还可以测试你的打字速度呢 键盘检测工具是一个有用的键盘测试...

    用C#编写的一个键盘钩子用于记录键盘输入

    标题中的“用C#编写的一个键盘钩子用于记录键盘输入”指的是使用C#编程语言创建一个程序,该程序通过设置键盘钩子(键盘事件监听器)来捕获并记录用户在计算机上的所有键盘输入。键盘钩子是Windows API提供的一种...

    使用labview2019做的一个软键盘

    在这个场景中,"使用labview2019做的一个软键盘"是一个使用LabVIEW 2019开发的软件模拟键盘,它允许用户通过程序输入文本或数字,尤其适用于自动化测试、设备控制等场合,无需物理键盘即可完成数据输入。 标题中的...

    wpf模拟数字键盘,小键盘开发

    在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)技术来开发一个模拟数字键盘,也就是我们常说的小键盘。WPF是微软.NET框架的一部分,主要用于构建桌面应用程序,提供了丰富的UI设计工具和...

    WPF虚拟键盘,数字键盘

    在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)技术来开发一个虚拟键盘,特别是数字键盘。WPF是.NET Framework的一部分,提供了一个强大的、基于矢量图形的用户界面框架,用于创建丰富的...

    键盘替换有一个键坏了,没关系,将其他不常用的键映射一下就可以了。

    键盘映射是一种技术,允许我们将一个键的功能替换为另一个不常用的键,以此来代替坏掉的键。 首先,我们需要理解什么是键盘映射。键盘映射是操作系统或特定软件中的一个功能,它允许用户自定义键盘上的按键行为。也...

    云龙国际音标输入法3.2版ipaInst

    《云龙国际音标输入法3.2版ipaInst》是一款专为中文用户设计的高效音标输入工具,旨在提供便捷、快速的国际音标录入体验。这款输入法的3.2版本在...对于需要频繁使用国际音标的人来说,这无疑是一个实用且高效的工具。

    android软键盘上添加一个按钮

    在Android开发中,有时我们可能需要在软键盘上添加自定义功能,比如一个搜索按钮或者一个额外的操作选项。这个需求通常出现在输入框交互较多的应用场景,例如聊天应用、搜索引擎等。下面将详细介绍如何在Android的软...

    一个小键盘的代码

    在IT领域,"一个小键盘的代码"这个主题主要聚焦于如何通过编程来模拟或操作计算机上的数字小键盘。小键盘,通常是指台式电脑键盘右侧的一组数字键,用于快速输入数字,尤其在处理大量数值时非常方便。在编程中,我们...

    自定义键盘 身份证键盘

    本文将详细讲解如何实现一个自定义键盘,特别是针对身份证输入的键盘,并结合给定的“键盘Demo”项目进行分析。 一、自定义键盘的概念与应用场景 自定义键盘是指开发者根据需求定制的,不同于系统默认键盘的输入...

    Keyboard.rar_emwin_emwin keyboard_emwin 键盘_emwin键盘_键盘 emwin 完整的

    这个"Keyboard.rar"压缩包显然包含了使用emWin库实现的一个全功能键盘组件。 emWin是由Segger公司开发的一款图形库,它支持多种操作系统,如RTOS或无操作系统的裸机环境。emWin提供了丰富的控件集,包括按钮、列表...

    自制android键盘实现

    在Android平台上,自定义键盘(软键盘)的实现是一个相当有趣且实用的开发任务。它涉及到Android系统的输入法服务(InputMethodService)以及对View体系结构的理解。本篇将深入探讨如何利用Android SDK来创建一个...

    老外写的虚拟键盘,绝对漂亮,不过有点大

    标题提到“老外写的虚拟键盘”,可能是指一个由国外开发者编写的虚拟键盘软件或库,具有美观的界面设计,但同时也指出它可能体积较大,可能会影响网站性能或加载速度。 虚拟键盘的主要优点在于它可以防止键盘记录器...

    一个全局软键盘程序应用实例

    因项目需要自己写的全局软键盘程序,利用钩子技术实现,支持复合键,分为数字键盘、紧凑键盘和全功能键盘三种模式,部分源代码参考了刘麻子的屏幕键盘源码。压缩包内一共包括三套源代码,VCL接口、有三种不同的方法...

Global site tag (gtag.js) - Google Analytics