/*******************************************************/
/*自定义键盘*/
/*******************************************************/
//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;
}
//
分享到:
相关推荐
键盘检测工具是一个有用的键盘测试工具软件,利用它可以很快的检测出键盘上键位的好坏,并根据测试参数判定键盘的优劣。对于爱好打字的用户来说,该软件还可以测试你的打字速度呢 键盘检测工具是一个有用的键盘测试...
网狐6603登录框效果 MFC一个漂亮的登录框带小键盘密码输入
用C#写的 漂亮软键盘(小键盘)源代码
因项目需要自己写的全局软键盘程序,利用钩子技术实现,支持复合键,分为数字键盘、紧凑键盘和全功能键盘三种模式,部分源代码参考了刘麻子的屏幕键盘源码。压缩包内一共包括三套源代码,VCL接口、有三种不同的方法...
从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三。 处理方法: 1、定义一个字符串数组,保存汉字数字 2、然后将传入的数字转换成字符串,...
在原有的基础上增加了,键盘音效,支技不同进程窗口的输入。 ... 原来的只有在本进程内输入,现在可以当做一个外挂的屏幕键盘使用了。 原作者: http://www.2ccc.com/article.asp?articleid=5508
小键盘 数字键盘
最近新买了Acer4741G的笔记本,但是笔记本上面的显示状态灯太少,比如没有显示大小写状态的灯,小键盘数字键的状态灯等,所以就写了一个键盘钩子程序,给自己做显示。 其中操作系统使用的是Win7,SetWindowsHookEx这...
用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指将数含有的数字逆序排列后得到的数和原数相同,例如12121,4224,6778776等都是回文数。 1)程序具有判断用户的输入...
android软键盘上添加一个按钮
使用Keybd_event,wpf 开发实现的全键盘和数字键盘,键盘字体随键盘大小自适应,测试使用通过
绿色键盘修改器_键盘健坏一个两个没事 键盘修改器::哈,,键盘坏了不用怕。有它替换就行了。。现在什么游戏都可以:自定义键::了 键盘修改器,玩游戏不能自定义键,不爽吧,有了它,不有怕,呵,想换哪个就哪个...
该资源是一款非常漂亮且精致的虚拟键盘实例,资源非常的好,代码书写非常的规范,希望能帮助到大家,学习和借鉴
老外写的虚拟键盘,绝对漂亮,不过有点大 增加网页的安全性
Js 清新漂亮的软键盘(基于jquery插件)修改网上的一个 可对选择的输入框进行录入数据,如 <input type="text" id="field1" value="双击可关闭键盘" id 必须
从手焊一个跑Python的USB蓝牙双模键盘,到设计一个Python键盘
通用键盘变速器 键盘加速器 降低键盘延迟
是一款非常不错的软键盘(小键盘),适合开发人员参考。