Random Security Code For Registration Form

Bài viết này hướng dẫn tạo 1 dãy số mật mã an toàn để người dùng nhập vào

Bước 1: Tạo class “RenderSecurityCode.as”

CODE:

package com.SecurityCode {
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.text.TextFormat;
import flash.text.TextField;
import flash.geom.Matrix;

/**
* @author yoko
*/
public class RenderSecurityCode extends MovieClip {
private var CLIP : MovieClip;

private var SCODE_ARRAY : Array;

private const SCODE_LENGTH : int = 8;

private var SCODE_STR : String = “”;

public function RenderSecurityCode() {
addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(evt : Event) : void {
removeEventListener(Event.ADDED_TO_STAGE, init);

SCODE_ARRAY = new Array(“A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”, “J”, “K”, “L”, “M”, “N”, “O”, “P”, “Q”, “R”, “S”, “T”, “U”, “V”, “W”, “X”, “Y”, “Z”, “a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”, “m”, “n”, “o”, “p”, “q”, “r”, “s”, “t”, “u”, “v”, “w”, “x”, “y”, “z”, “0″, “1″, “2″, “3″, “4″, “5″, “6″, “7″, “8″, “9″);

createClip();
createBackground();
createSecurityCode();
createText();
}

private function createClip() : void {
CLIP = new MovieClip();
addChild(CLIP);
}

private function createBackground() : void {
var fillType : String = GradientType.LINEAR;
var colors : Array = [Math.random() * 0xFFFFFF,Math.random() * 0xFFFFFF];
var alphas : Array = [1,1];
var ratios : Array = [0x00,0xFF];
var matr : Matrix = new Matrix();
matr.createGradientBox(20, 20, 0, 0, 0);
var spreadMethod : String = SpreadMethod.REFLECT;
CLIP.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod);
CLIP.graphics.drawRect(0, 0, 140, 30);
}

private function createSecurityCode() : void {
for(var i : int = 0;i < SCODE_LENGTH;i++) {
var randomNumber : int = Math.floor(Math.random() * SCODE_ARRAY.length);
SCODE_STR += SCODE_ARRAY[randomNumber];
}
}

private function createText() : void {
var field_txt : TextField = new TextField();
field_txt.multiline = false;
field_txt.selectable = false;
field_txt.embedFonts = false;
field_txt.defaultTextFormat = getFormat();
field_txt.text = SCODE_STR;
field_txt.width = field_txt.textWidth + 5;
field_txt.height = field_txt.textHeight;
field_txt.x = (CLIP.width – field_txt.textWidth) / 2;
field_txt.y = 0;
//(CLIP.height – field_txt.textHeight) / 2;
CLIP.addChild(field_txt);
}

private function getFormat() : TextFormat {
var format : TextFormat = new TextFormat();
format.font = “Verdana”;
format.size = 20;
format.color = 0xFFFFFF;

return format;
}

public function checkSCODE(str : String) : Boolean {
if(str === SCODE_STR)
return true;
else
return false;
}
}
// end
}

Bước 2: Tạo class “ViewSecurityCode.as” để hiển thị trên FLA Document

CODE:

package com.SecurityCode {
import flash.display.MovieClip;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;

/**
* @author yoko
*/
public class ViewSecurityCode {
private var ROOT : MovieClip;
private var SCODE : RenderSecurityCode;
private var INPUT : TextField;
private var RESULT : TextField;
private var BUTTON : MovieClip;

public function ViewSecurityCode(mainTimeline : MovieClip) {
ROOT = mainTimeline;
INPUT = ROOT.input_txt;

INPUT.maxChars = 8;
INPUT.restrict = “a-zA-Z0-9″;
RESULT = ROOT.result_txt;
BUTTON = ROOT.button_mc;

init();
BUTTON.addEventListener(MouseEvent.CLICK, manageMouseClick);
}

private function init() : void {
SCODE = new RenderSecurityCode();
SCODE.x = INPUT.width;
SCODE.y = INPUT.y;
ROOT.addChild(SCODE);
}

private function manageMouseClick(evt : Event) : void {
RESULT.text = String(SCODE.checkSCODE(INPUT.text));
}
}
// end
}

Bước 3: Tạo FLA Document “SecurityCode.fla”

_ Tạo 1 movieClip tên “button_mc”

_ Tạo 1 textField tên “input_txt”

_ Tạo 1 textField tên “result_txt”

_ Chọn Frame 1 code

CODE:

import com.SecurityCode.ViewSecurityCode;
new ViewSecurityCode(this);

_ Lưu lại và chạy thử xem kết quả bằng cách nhập số vào và nhấn OK

Gửi phản hồi

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Thay đổi )

Twitter picture

You are commenting using your Twitter account. Log Out / Thay đổi )

Facebook photo

You are commenting using your Facebook account. Log Out / Thay đổi )

Connecting to %s

Follow

Get every new post delivered to your Inbox.