지정된 텍스트가 한 문자씩 ASCII코드 값과 비교해서 출력
- Posted at 2004/11/06 11:46
http://www.action-scripter.com/blog/trackback/898
// ☞☞ 랜덤 텍스트 제어 액션
// 스테이지에 다이나믹 텍스트 필드를 만들고 인스턴스 네임 typoText 로 지정
var restr = new Array(); // 배열 선언
var rT = ""; // 화면에 보여지는 문자 변수
var xx = random(13)+33; // 처음 화면에 보여지는 문자를 랜덤하게 보여주기(특수문자)
var destr = String.fromCharCode(xx); // 처음에 기본적으로 보여질 문자
var num = 0; // 문자의 단계 넘기기
var sn; // ASCII 시작 값
function changeText(dec,time){
for(var i=0;i< dec.length;i++){
rT = rT.concat(destr); // 문자 길이만큼 기본 문자로 채워준다.
restr.push(rT.substr(i,1)); // 기본 문자들을 restr 배열에 요소로 넣어준다.
typoText.text = rT; // 문자를 보여준다.
};
var jump = dec.charCodeAt(num); // 현재 단계의 ASCII 값을 찾아와서 jump한다.
var snF = jump - time; // 처음 비교 하게될 문자 코드 번호
sn = snF;
this.onEnterFrame = function(){
if(num != dec.length){
// ASCII 값 중에서 32부터 129까지의 값이 대부분 사용되는 키 값들이다.
if(sn != 130){
sn++; // 비교 문자 코드를 1씩 증가 시킨다.
}else{
sn = snF; // 처음 시작은 현재 단계의 ASCII 값 부터
};
var ag = String.fromCharCode(sn); // ASCII 값에 해당되는 문자를 반환
restr[num] = ag; // 현재 단계 문자에 반환된 문자를 넣어준다.
if(restr[num] == dec.charAt(num)){ // 현재 단계가 사용자 지정 문자와 같은지 확인
for(var i=0;i< dec.length;i++){
reT = restr.join(""); // 배열을 합쳐서 문자열로 전환
typoText.text = reT; // 문자를 보여준다.
}
num++; // 단계 상승
var jump = dec.charCodeAt(num); // 현재 단계의 ASCII 값을 찾아와서 jump한다.
if(dec.charAt(num) == " "){ // 공백이 있으면 바로 공백 보여주고 다음 단계 확인
sn = snF = jump - 1;
}else{
// 뒤로 갈수록 점점 속도가 붙는다.
var plus = Math.round((time-1) * (num/dec.length));
sn = snF = jump - (time - plus); // 비교 문자 코드 번호
}
}else{
for(var i=0;i< dec.length;i++){
reT = restr.join(""); // 배열을 합쳐서 문자열로 전환
typoText.text = reT; // 문자를 보여준다.
}
}
}else{
trace("주인님 끝났습니다.");
delete this.onEnterFrame;
}
}
};
changeText("ACTION-SCRIPTER.COM",3); // 랜덤 텍스트 함수 호출
본 소스는 땡굴이가 직접 제작한 것입니다.
마음것 사용하시구요.. 잘못된 부분 있으면 답글 달아 주세요..
// 스테이지에 다이나믹 텍스트 필드를 만들고 인스턴스 네임 typoText 로 지정
var restr = new Array(); // 배열 선언
var rT = ""; // 화면에 보여지는 문자 변수
var xx = random(13)+33; // 처음 화면에 보여지는 문자를 랜덤하게 보여주기(특수문자)
var destr = String.fromCharCode(xx); // 처음에 기본적으로 보여질 문자
var num = 0; // 문자의 단계 넘기기
var sn; // ASCII 시작 값
function changeText(dec,time){
for(var i=0;i< dec.length;i++){
rT = rT.concat(destr); // 문자 길이만큼 기본 문자로 채워준다.
restr.push(rT.substr(i,1)); // 기본 문자들을 restr 배열에 요소로 넣어준다.
typoText.text = rT; // 문자를 보여준다.
};
var jump = dec.charCodeAt(num); // 현재 단계의 ASCII 값을 찾아와서 jump한다.
var snF = jump - time; // 처음 비교 하게될 문자 코드 번호
sn = snF;
this.onEnterFrame = function(){
if(num != dec.length){
// ASCII 값 중에서 32부터 129까지의 값이 대부분 사용되는 키 값들이다.
if(sn != 130){
sn++; // 비교 문자 코드를 1씩 증가 시킨다.
}else{
sn = snF; // 처음 시작은 현재 단계의 ASCII 값 부터
};
var ag = String.fromCharCode(sn); // ASCII 값에 해당되는 문자를 반환
restr[num] = ag; // 현재 단계 문자에 반환된 문자를 넣어준다.
if(restr[num] == dec.charAt(num)){ // 현재 단계가 사용자 지정 문자와 같은지 확인
for(var i=0;i< dec.length;i++){
reT = restr.join(""); // 배열을 합쳐서 문자열로 전환
typoText.text = reT; // 문자를 보여준다.
}
num++; // 단계 상승
var jump = dec.charCodeAt(num); // 현재 단계의 ASCII 값을 찾아와서 jump한다.
if(dec.charAt(num) == " "){ // 공백이 있으면 바로 공백 보여주고 다음 단계 확인
sn = snF = jump - 1;
}else{
// 뒤로 갈수록 점점 속도가 붙는다.
var plus = Math.round((time-1) * (num/dec.length));
sn = snF = jump - (time - plus); // 비교 문자 코드 번호
}
}else{
for(var i=0;i< dec.length;i++){
reT = restr.join(""); // 배열을 합쳐서 문자열로 전환
typoText.text = reT; // 문자를 보여준다.
}
}
}else{
trace("주인님 끝났습니다.");
delete this.onEnterFrame;
}
}
};
changeText("ACTION-SCRIPTER.COM",3); // 랜덤 텍스트 함수 호출
본 소스는 땡굴이가 직접 제작한 것입니다.
마음것 사용하시구요.. 잘못된 부분 있으면 답글 달아 주세요..











