•  

ยินดีต้อนรับสู่ ThaiFlashDev

กระทู้เมื่อเร็วๆ นี้

หน้า: 1 ... 8 9 [10]
91
พอดีเป็นมื้อใหม่ค่ะ หัดทำเองเว็บต่างๆบ้างค่ะ พอทำไปทำมาตามหลายๆวิธี เลยมั่วไปหมดเลยค่ะ รบกวนผู้รู้ช่วยแนะนำแก้ไขให้หน่อยค่ะ


ขอบคุณล่วงหน้าค่ะ

92
Adobe CS6 / Re: flash อยากสอบถามเรื่องการใส่เสียง
« กระทู้ล่าสุด โดย sukjai เมื่อ 30 ต.ค. 16, 20:17:30 »
คำสั่งเกีียวกับ Sound ใน As2 กับ As3 เขียนไม่เหมือนกันนะครับ

ลองศึกษาจากตัวอย่างนี้ดูนะครับเผื่อว่าจะพอช่วยได้  แต่ต้องบอกก่อนนะครับว่า รูปแบบที่ให้ไว้นี้ ไม่ได้เป็น
รูปแบบที่ถูกต้องอะไร แค่ใช้เป็นแนวทาง เพื่อให้ดูเป็นแนวทางเบื้องต้นแค่นั้น

โค๊ด: [Select]
var sound:Sound=new sound_1();
/*
sound_1  เป็นชื่อ  Linkage ของเสียงที่ได้กำหนดไว้ในช่อง  class ตอนสร้าง  Linkage
ขั้นตอนการ  สร้าง Linkage ให้กับ  เสียง   คือ
1.  คลิกที่เมนู   File -->  Import  -->  Import to Library
2. ในหน้าต่าง  Library  ให้คลิกขวาที่เพลงที่เราต้องการสร้าง  Linkage เลือก    Linkage..
3.  คลิกเลือกหัวข้อ  Export for ActionScript
4.  จากนั้นกำหนดชื่อในช่อง  Class
*/
var channel:SoundChannel=new SoundChannel();
var transForm=new SoundTransform();
transForm.volume=0.7;
// ปรับค่าความดังของเสียงที่ ตัวแปร  transForm โดยระบุค่าได้ระหว่าง 0-1  ถ้ากำหนดเป็น 1 คือดังสุด
var positionSound:Number=0;
// ตัวแปร  positionSound เป็นตัวแปรที่ใช้เก็บเวลาของเพลงที่กำดลังเล่นอยู่  ณ เวลานั้น
var onPlay:Boolean=false;
//  ตัวแปรที่ใช้สำหรับตรวจสอบสถานะของการเล่นเพลง  ว่า กำลังเล่นเพลงอยู่หรือไม่  ในเบื้องต้นกำหนดให้มีค่าเป็น  false คือไม่ได้เล่น

//  ------------------------------------------------------------------------------
PlayAndResumeBtn.buttonMode=true;
PlayAndResumeBtn.addEventListener(MouseEvent.CLICK,_playAndresume);
/*
function _playAndresume  ทำหน้าที่  กำหนดสถานะของการเล่นเพลงให้เป็นสถานนะตรงกันข้ามกับ
สถานะเดิมที่มีอยู่   จากนั้นจะทำการเปรียบเทียบสถานะของการเล่นว่า มีสถานนะใด  ถ้ามีสถานะเป็นจริง  ก็จะสั่งให้เล่นเพลง
ถ้ามีสถานนะเป็นเท็จ  ก็จะสั่งให้หยุดเล่นเพลง
*/
function _playAndresume(e:MouseEvent):void {
onPlay=!onPlay;
//  กำหนดค่าสถานะของการเล่นเพลงให้เป็นตรงกันข้าม
if (onPlay) {
// ทำาการตรวจสอบว่า  สถานะของการเล่นเพลงเป็น จริง  หรือไม่ ถ้าเป็นจริงก็ให้เล่นเพลง ถ้าไม่จริง ก็ให้หยุดเล่น
channel=sound.play(positionSound);
//  สังให้เล่นเพลงตามค่าเวลาที่ระบุไว้ภายในตัวแปร  positionSound
channel.soundTransform=transForm;
//  กำหนดค่าความดังของเสียงเพลงให้มีค่าความดังตามค่าที่ได้กำหนดไว้ภายในตัวแปร  transForm
} else {
positionSound=channel.position;
//  เก็บค่าเวลาของเพลงที่เล่น ณ เวลานั้นไว้ที่ตัวแปร  positionSound
channel.stop();
//  สั่งให้หยุดเล่นเพลง
}
channel.addEventListener(Event.SOUND_COMPLETE,_loopPlay);
}
//  ------------------------------------------------------------------------------
stopBtn.buttonMode=true;
stopBtn.addEventListener(MouseEvent.CLICK,_stop);
//  function _stop ทำหน้าที่สั่งให้หยุดเล่นเพลงที่เล่นอยู่ พร้อมทั้งทำการคือนค่า สถานะการเลนเพลง และกำหนดค่าเวลาเริ่มต้นของเพลงใหม่
function _stop(e:MouseEvent):void {
channel.stop();
//  สั่งให้หยุดเล่นเพลง
onPlay=false;
//  กำหนดสถานะของการเล่นเพลงให้กลับมาเป็นเท็จ   
positionSound=0;
//  คืนค่าตำแหน่งของการเล่นเพลงกลับไปที่  0  คือ กลับไปยังตำแหน่งเริ่มต้นของเพลง
}
//  ------------------------------------------------------------------------------
//  function _loopPlay  ทำหน้าที่สั่งให้ทำการเล่นเพลงวนซ้ำ เมื่อเล่นเพลงจบ
function _loopPlay(e:Event):void {
channel.removeEventListener(Event.SOUND_COMPLETE,_loopPlay);
channel=sound.play();
//  สังให้เล่นเพลงตามค่าเวลาที่ระบุไว้    0  คือ เริ่มเล่นใหม่ตั้งแต่ต้น
channel.soundTransform=transForm;
//  กำหนดค่าความดังของเสียงเพลงให้มีค่าความดังตามค่าที่ได้กำหนดไว้ภายในตัวแปร  transForm
channel.addEventListener(Event.SOUND_COMPLETE,_loopPlay);
}
//  ------------------------------------------------------------------------------

ปล. หากมีเสียงเล่นอยู่หลาย ๆ เสียง และต้องการสั่งให้ทุกเสียงหยุดเล่น ให้ใช้คำสั่ง  SoundMixer.stopAll();

ผิดพลาดประการใด ก็ต้องขออภัยไว้ ณ ที่นี้ด้วยครับ มิได้อยู่ในสถานะเชี่ยวชาญ แค่มีใจอยากช่วย
93
Adobe CS6 / Re: flash อยากสอบถามเรื่องการใส่เสียง
« กระทู้ล่าสุด โดย phiromya เมื่อ 30 ต.ค. 16, 14:04:44 »
รบกวนหน่อยนะค่ะ  As3.0 ใช้คำสั่งเดียวกันไหมค่ะ ใส่แล้ว error ค่ะ
94
แก้ได้แล้วค่ะ เป็นที่จุด  Registration จริงๆด้วยค่ะ แหะๆ ขอบคุณ คุณ sukjai มากเลยค่าาาา >/\<
95
ตามที่ผมทดสอบ Script ก็สามารถทำงานได้ตามปกตินะครับ ( เท่าที่จำได้ สคริปที่ว่านี้เป็นตัวอย่างที่ปรมจารย์คนหนึ่ง
ในเว็บนี้เขียนแจกไว้ให้เพื่อการศึกษา ซึ่งผมก็เป็นคนหนึ่งที่ได้รับอานิสงนั้นด้วย ) สาเหตุที่มันวางแล้วไม่อยู่ตำแหน่งกึ่งกลาง
box ผมคิดว่าน่าจะเกิดมาจากการกำหนดจุด  Registration ของตัว MovieClip  ดังนั้น ผมแนะนำว่าควรกำหนดจุด Registration
ของตัว MovieClip ทั้งตัว mc และตัว box ไว้ที่จุดกึ่งกลางให้เหมือนกันครับ

ขอเพิ่มเติมนิดนึ่งครับ
การกำหนดการวน Loop เพื่อกำหนด mc และ box ควรเขียนให้มีการวนรอบที่เหมือนกันนะครับ เพื่อป้องกันความสับสน
ไม่ควรเขียนให้แตกต่างกัน  เช่น
for (i = 1; i <= 10; i++) {//ปุ่มสี่อัน   และ     for (j = 0; j < 9; j++) {//สามกล่อง  ควรจะเขียนให้เหมือนกัน
ควรจะเขียนเป็น
for (i = 1; i <10; i++) {//ปุ่มสี่อัน   และ     for (j = 1; j <10; j++) {//สามกล่อง 

ผิดพลาดอย่างไรก็ต้องขออภัยไว้ด้วยครับ มิได้อยู่ในสถานะเชี่ยวชาญ แค่มีใจอยากช่วย


96
กำลังทำเกมส์จับคู่อยู่ค่ะ (Drag to Box) โค้ดที่นำไปใช้ก็เป็นของพี่ ๆ ในนี้ค่ะ นำไปดัดแปลงแค่นิดหน่อยเท่านั้น แต่เกิดปัญหาตรงที่ว่าเวลาเลื่อนภาพไปวางในกล่องแล้ว มันไม่ตรงกับกล่องค่ะ มีวิธีแก้ปัญหาอย่างไรคะ

***โค้ดที่ใช้
import flash.filters.GlowFilter;//เพื่อความเท่
var filter:GlowFilter = new GlowFilter(0x660066, 1, 30, 30, 2);
var filterArray:Array = new Array();
filterArray.push(filter);

var i:Number;
var tmp_mc:MovieClip;

for (i = 0; i < 9; i++) { //สามกล่อง
   tmp_mc = _root["box" + i];
   tmp_mc.isBoxEmpty = true; //สร้างตัวแปรสำหรับจำค่าว่าง
}

for (i = 1; i <= 10; i++) {//ปุ่มสี่อัน
   tmp_mc = _root["mc" + i];
   tmp_mc.id = i;
   tmp_mc.returnX = tmp_mc._x;
   tmp_mc.returnY = tmp_mc._y;
   tmp_mc.inBox = null;
   tmp_mc.onPress = onStartDrag;//เมื่อกด
   tmp_mc.onRelease = onStopDrag;//เมื่อปล่อย
   tmp_mc.onReleaseOutside = onStopDrag;
}
function onStartDrag() {
   with (this) {
      if (inBox) {//ถ้าตัวที่จะลาก อยู่ในกล่องอยู่แล้ว
         inBox.isBoxEmpty = true;//ให้กล่องนั้นจำค่าว่าว่างแล้ว
         inBox = null;//เลิกจำว่าอยู่กล่องไหน
         filters = null;//เอาความเท่ออก
      }
      startDrag();
   }
}
function onStopDrag() {
   with (this) {
      stopDrag();
      var j:Number;
      var hit_mc:MovieClip;
      for (j = 0; j < 9; j++) {//สามกล่อง
         hit_mc = _root["box" +j];
         if (hit_mc.hitTest(_x, _y, false)) {//ถ้าทับกล่อง
            if (hit_mc.isBoxEmpty) {//ถ้ากล่องว่าง
               hit_mc.isBoxEmpty = false;//กล่องไม่ว่างแล้ว
               inBox = hit_mc;//จำว่าอยู่ในกล่องอะไร
               _x = hit_mc._x;//ย้ายที่เข้ากล่อง
               _y = hit_mc._y;
               filters = _root.filterArray;//เพื่อความเท่้
               return;
            }
         }
      }
      _x = returnX;//เด้งกลับ
      _y = returnY;
   }
}
stop();

**Link google drive file รูปภาพปัญหาที่เกิดขึ้นค่ะ **
https://drive.google.com/file/d/0B2DBtSgh6tJ9Skx2ZDV4SVVpbmc/view?usp=sharing
97
Adobe CS6 / Re: สอบถามการใส่สคริปเลขไทย
« กระทู้ล่าสุด โดย sukjai เมื่อ 29 ต.ค. 16, 17:32:58 »
ลองทำตามนี้ดูนะครับ
ไปที่ KeyFrame ที่เป็น KeyFrame ที่แสดงผลคะแนน จากนั้นทำการคัดลอกสคริปด้านล่าง
ไปใส่ไว้ (ผมลบในส่วนของการใส่คอมม่าคั่นตัวเลขออกเนื่องจากดูจากสคริปบางส่วน
ที่ติดมากับรูป เดาเอาว่าคงไม่จำเป็นต้องใช้)
ทำการเปลี่ยนชื่อของ Dinamic Text ที่จะใช้แสดงค่าตัวเลข
และเปลี่ยนชื่อของตัวแปรที่คุณได้ทำการกำหนดไว้ว่าให้เก็บค่าคะแนน
ยกตัวอย่างเช่น  สมมุติว่า
 ชื่อของ Dinamic Text ที่จะใช้แสดงค่าตัวเลขมีชื่อว่า  showScore  และ
 ชื่อของตัวแปรที่เก็บคะแนนมีชื่อว่า   point
ก็จะได้สริปดังนี้ครับ
โค๊ด: [Select]
showScore.text = String(changFormat(point));

function changFormat(number:Number) {
var thaiNum = "๐๑๒๓๔๕๖๗๘๙".split("");
var temp:String = String(number);
for (var i in thaiNum) {
temp = temp.split(i).join(thaiNum[i]);
}
return temp;
}
แนะนำเพิ่มเติมนิดนึ่งครับ การเลือกใช้ font ที่เป็น font พิเศษที่ไม่ได้เป็น font มาตราฐานนั้น
ผมไม่แนะนำให้ใช้นะครับ เนื่องจากเวลาเราเอางานที่ได้ไปใช้กับเครื่องที่ไม่มี font ที่เราใช้ก็อาจ
ส่งผลให้การแสดงผลไม่เป็นไปอย่างที่เราตั้งใจไว้ครับ  แต่ผมก็ไม่แน่ใจนะครับว่า font pslxomyim
เป็น font มาตราฐานรึเปล่า อย่างไรเสียเมื่อเลือกใช้ Textbox แบบ Dinamic Text ก็อย่าลืมสั่ง Embed
ด้วยนะครับ

ผิดพลาดประการใดก็ต้องขออภัยไว้ ณ ที่นี้ด้วยครับ
98
Game Development / ขอความช่วยเหลือเรื่อง คำสั่ง removeChild หน่อยครับ
« กระทู้ล่าสุด โดย Nooker7 เมื่อ 29 ต.ค. 16, 16:18:46 »
ผมเขียนคำสั่ง parent.removeChild เพื่อจะลบวัตถุที่เป็น movieclip ก็ลบได้ปกติ ***แต่มีปัญหาอยู่ว่า
สมมติผมมี  มอนสเตอร์ 5 ตัวในแผนที่ ผมเช็คว่าถ้าโจมตีจนค่าพลังชีวิตมอน เท่ากับ 0  ให้ remove มอนเตอร์ออกจากแผนที่
มันก็ remove หายออกได้ปกติ แต่พอเดินไปเรื่อยๆตามแผนที่ บางจุดเลือดตัวละครผมกับลดลงเรื่อยๆจนตาย
 
(((อธิบายง่ายๆคือ ตีมอนตายไปเเล้ว remove หายไปเเล้ว  แต่เหมือนยังมีมอนเตอร์ ล่องหนอยู่ครับ และเป็เฉพาะบางจุดในแผนที่เท่านั้น))) **เป็นเฉพาะบางจุดแบบสุ่มครับ คือพอเราตาย ครั้งหน้ากลับมาจุดเดิมมันก็ไม่เป็นแล้ว มันจะไปอยู่จุดอื่นแทน


var linkSwordPower:Number = 10; //ค่าพลังดาบ
var crap1Power:Number = .01; //พลังโจมตีมอนเตอร์
var crap1Health:Number = 100; // พลังชีวิตมอนเตอร์
//dg3Mc คือชื่อแผนที่ crap1Mc เป็นมอนที่อยู่ใน dg3Mc

โค้ดเช็ค เมื่อ มอนเตอร์โดนโจมตีจนตายให้ remove มอนเตอร์ ออก
โค๊ด: [Select]
                      if (linkMc.swordLeftMc.hitTestObject(dg3Mc.crap1Mc))
{
dg3Mc.crap1Mc.x -=  5;        // เมื่อ crap1Mc โดนดาบให้กระเด็นไป -5 แกนx
crap1Health -=  linkSwordPower;     // พลังชีวิตมอนเตอร์ - พลังดาบ
if (crap1Health <= 0)
{
dg3Mc.crap1Mc.parent.removeChild(dg3Mc.crap1Mc);
}

}



อันนี้โค้ดเช็ค ค่าพลังชีวิตตัวละคร ถ้าตัวละครเดินชนกัยมอนเตอร์ ให้ค่าพลังชีวิตตัวละคร ลบ พลังโจมตีมอนเตอร์
โค๊ด: [Select]
if (linkMc.hitBoxMc.hitTestObject(dg3Mc.crap1Mc) && linkHealthBar2Mc.scaleX > .01)
{
linkHealthBar2Mc.scaleX -=  crap1Power;
}

ขอความกรุณาด้วยนะครับ ถ้าไม่เข้าใจที่ผมอธิบายหรืออยากดูโค๊ด ส่วนอื่นๆ บอกผมได้ตลอดเลยนะครับ ขอบคุณล่วงหน้าครับ
99
Adobe CS6 / Re: สอบถามการใส่สคริปเลขไทย
« กระทู้ล่าสุด โดย junejp เมื่อ 29 ต.ค. 16, 16:01:01 »
รบกวนหน่อยนะคะ คือเอาแบบไม่รู้เรื่องอะไรเลย คือนำสคริปไปใส่ แต่ output ขึ้นว่า undefined  ซึ่งคงจะใส่ผิดแน่ๆ เพราะงงอยู่
เป็นตามรูปที่แนบมาค่ะ  จะให้เลขมันขึ้นตรงช่องที่ได้คะแนนเท่านั้น  รบกวนช่วยบอกว่าต้องนำสคริปไปใส่ตรงไหนด้วยค่ะ ปล. ใช้ฟ้อน pslxomyim ไม่ทราบว่ามีผลต่อการขึ้นเลขรึเปล่า 

ขอบคุณมากค่ะ

[/url] [/img]
100
เสวนาพาเพลิน / Re: ปัจจุบันใช้ Flash ทำอะไรกันบ้างครับ
« กระทู้ล่าสุด โดย thunbon เมื่อ 28 ต.ค. 16, 13:38:22 »
ใช้ทำ
1.สื่อการสอน (ลงในแอนดรอย และ PC )
2.ทำการ์ตูนแอนิเมชั่น ส่งทั้งบริษัทเอกชน และ หน่วยงานราชการ
3.ทำระบบตามสั่งน่ะครับ เช่น สัปดาห์ที่แล้ว ก็ทำ air ที่มีปุ่ม snap หน้าจอคอม แล้วบันทึกลง folder ที่ตั้งค่าไว้
4.ทำเป็นเกมสำหรับงาน event
5.ทำระบบสำหรับงาน event เช่น ทำตู้จ่ายสินค้า เมื่อตอบคำถามถูก หรือ แอนิเมชั่นที่เปิดเองเมื่อมีคนเดินผ่าน
6.ทำรูปนิ่ง ออกแบบคาแรคเตอร์ หรือทำแอนิเมชั่น เพื่อใช้ ส่งเข้า unity ครับผม
7.ตอนนี้พยายามขยายสเกลการรับงาน ด้าน html5 canvas เพิ่มเติมครับผม

ภาพนี้ก็วาดใน Flash นะครับ


สรุปคือ ทุกวันนี้ผมก็ยังใช้ Flash ทุกวันครับ จะมีจับ unity ผสมด้วยเป็นระยะๆน่ะครับ
หน้า: 1 ... 8 9 [10]