ฟอนต์ฟอรั่ม

F0NT Community (เก่า) => ห้องคอม => ห้องแฟลช => โพสต์ถูกเริ่มโดย: Layiji เมื่อ 05 ธ.ค. 2006, 09:24 น.

ชื่อเรื่อง: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 09:24 น.
ผมทำ Random เลขมา Trace ได้
แต่พอเอาไปประยุกต์สั่งให้ MC แรนด้อม gotoAndPlay เหมือนว่ามันจำค่าเลขที่แรนด้อมมาครั้งแรกอย่างเดียวน่ะครับ ไม่รู้ว่าต้องใช้วิธีอะไร


ปล. อ้อ ถามอีกทีเลยล่ะกันครับ คำสั่งสำหรับการ กดรัวๆ ให้เกจพลังเต็มนี่สั่งยังไงเหรอครับ
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: จักรี เมื่อ 05 ธ.ค. 2006, 09:48 น.
เอ๋  ผมมองไม่ออกครับ ว่านำไปประยุกต์ใช้กับ mc อย่างไร :09:

สมมติว่า random เป็นเลข 1 ให้เล่น mc 1 อะไรแบบนี้รึป่าวครับ   :09: :09:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 10:01 น.
mynum = random (2)

if (mynum = 0) go....
if (mynum = 1) go...
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: จักรี เมื่อ 05 ธ.ค. 2006, 10:12 น.
mynum = random(2)
trace(mynum);

if (mynum==0){
     aa.gotoAndPlay("over")
    }
if (mynum==1){
    aa.gotoAndPlay("out")
}

แบบนี้รึป่าวครับ เมื่อ aa เป็น mc
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: นายโอ้เอ้ เมื่อ 05 ธ.ค. 2006, 10:22 น.
เปรียบเทียบใช้ == ครับป๋า
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 10:58 น.
http://img2.f0nt.com/flash/5e24f7a813ff179511ed83ad4a22099d.swf
ได้แล้วครับขอบคุณมากครับ
เพียงแต่ว่าต้องเพิ่ม onEnterframe หน่อย

onEnterFrame = function (){
num = random(2);


b.onPress = function(){
if (num == 0)
m.gotoAndPlay('one');
if (num == 1)
m.gotoAndPlay('two');
};
}



ทีนี้จะทำท่าใหญ่โดยการเพิ่มเกจพลังให้กดรัวๆจนถึงขีดแล้ว gotoAndPlay ยังไงดีครับ
ท่าจะยาก  :08:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: จักรี เมื่อ 05 ธ.ค. 2006, 11:13 น.
ใช้กดรัว เลยเหรอครับ   อืมมม  :39:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: poloh เมื่อ 05 ธ.ค. 2006, 12:41 น.
ถ้าให้กด 1 ที แล้วเกจพลังเพิ่มไปเลยล่ะครับ
(แบบไม่ต้องสนใจว่า  รัว หรือไม่รัว)

แล้ว ค่อยมาหาวิธีลดเกจพลัง แทน
(เช่น 5 frame ลดพลังเกจลง 1 หรืออะไรก็ว่าไป)
ซึ่ง อาจจะสร้าง mc มาตัวนึงแล้ว เขียน action script เพื่ออ้างอิงถึง ตัวแปรที่ _root ตัวที่เป็นเกจตัวไหนก็ว่าไป

ซึ่ง ถ้าเราไม่กดรัวๆ พลังเกจก็จะลดลงจนถึง 0 เอง

:26:แต่ผมเขียน โค้ดไม่ค่อยเป็นนะครับ
ไม่รู้ว่า จะได้หรือเปล่า ลองดูละกันครับผม
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: โตน เมื่อ 05 ธ.ค. 2006, 12:45 น.
flash เนี๊ย มีฟังชันก์ที่จะทริกทุกๆเวลา มั๊ยครับ น่าจะมี
ถ้ามี ก็ประมาณว่า
//ผมเขียนแฟรชไม่เป็นT^T

MAXPOWER = 100;
POWER = 0;

Trig(0.5){ //ทำงานทุกๆ 0.5 วินาที
  POWER -= ;
  if(POWER>= MAXPOWER){
      gotoAndPlay();
  }
}
OnButonA(){ //ทำงานทุกๆครังที่กดปุ่ม
  POWER += ;
}

ประมาณนี้ได้รึป่าวครับ :09:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: ลินซังกุง เมื่อ 05 ธ.ค. 2006, 13:36 น.
ก็ใช้ enterframe
if(hitTest(123)&&mouseDown&&ตัวแปร<100){
ตัวแปร ++
}
if(!hitTest(123) || mouseUp)
{ if(ตัวแปร>50){แหง่วๆ}
if(ตัวแปร>80){งุงิ}
{

ทำนองนี้มั้งครับ

หรือจะใช้ setInterval ก็เท่ดีนะครับ
โค้ดที่เขียนไปข้างบนมันมั่วๆนะครับ
ตอนนี้อยู่นอกบ้าน ยิ่งโง่ๆ actionscript อยู่ด้วย  :42:


***
อ้าวเวร นี่ยัยนลินมาล็อคอินทิ้งไว้  :08:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: iannnnn เมื่อ 05 ธ.ค. 2006, 13:39 น.
ในแฟลชใช้ SetInterval (http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary646.html) ครับ




คงใช้เหมือนๆ กะ Trig เลยครับ
(แต่ให้เขียนอธิบายตรงนี้ตูก็เขียนไม่เป็น)

//น้องนเต่าตัดหน้า
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: นายโอ้เอ้ เมื่อ 05 ธ.ค. 2006, 13:39 น.
^
เต่าเหรอ
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: เต่า... เมื่อ 05 ธ.ค. 2006, 13:46 น.
ข้างบนนั่นพี่แอนครับ

คนก่อนหน้าผมเอง
พอดีใช้คอมที่ทำงานพ่อ น้องมาล็อคอินทิ้งไว้...  :08:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: โตน เมื่อ 05 ธ.ค. 2006, 13:50 น.
แล้วผมเป็นใคร :09:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: iannnnn เมื่อ 05 ธ.ค. 2006, 13:50 น.
วิธีกำหนดfunction callback1() {
trace("สวัสดีชาวโลก");
}


วิธีเรียกsetInterval( callback1, 1000 );





หรือ




วิธีกำหนดfunction callback2(arg) {
trace(arg);
}


วิธีเรียกsetInterval( callback2, 1000, "สวัสดีชาวโลก" );
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: เต่า... เมื่อ 05 ธ.ค. 2006, 13:55 น.
กรี๊ด... พี่แอนหล่อ...  :25:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: iannnnn เมื่อ 05 ธ.ค. 2006, 13:58 น.
หล่อแมวอะไร ลอกเขามาให้คนเขียนได้เอาไปทำต่อเฟ้ย :07:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: โตน เมื่อ 05 ธ.ค. 2006, 14:00 น.
ตกลงป๋าเลย์ เขียนเสร็จยังครับ รอเล่นๆๆ :25:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Dayight เมื่อ 05 ธ.ค. 2006, 14:03 น.
ได้มีเลือดสาดแน่ๆ งานนี้  :30:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: จักรี เมื่อ 05 ธ.ค. 2006, 14:05 น.
ขอบคุณสำหรับ อินเทอรเวล  ครับ

thank you very much, sir
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: เต่า... เมื่อ 05 ธ.ค. 2006, 14:06 น.
พึ่งเห็นว่าป๋าจะให้คลิกรัวๆ

ถ้าไม่อยาก SetInterval ให้ปวดหัวผมว่า
ใช้ enterframe ลดเกจดีกว่านะครับ

เกจลดลงที่ละ 1
เกจ --

แล้วคลิกทีนึง เกจ +5
คลิกๆๆๆ ก็จะเพิ่มขึ้นเรื่อยๆ
ยิงรัวก็ยิ่งต่อต้านการลดลงของค่าเกจปกติ

ไม่ต้องนับเวลาว่าคลิกติดต่อกันภายในกี่วิหรอกมั้งครับ

onEnterframe.mc = function (){
if(gage < 101){ gage ++ }
}
onRelease.mc = function(){
gage+ = 5
}

ยังไมค่อยเข้าใจระบบของป๋าครับ
จะกดปุ่มคีย์บอร์ดรึเปล่า
หรือจะคลิกเมาส์...
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 14:22 น.
ใกล้แล้ว แต่ผิดต้องวาง Loop น่ะครับ

http://img2.f0nt.com/flash/99dc56ad58bed3579ad47a1f379ef667.swf

function Downbar (){
    bar.onEnterFrame = function(){
if (bar._width <=1)
bar._width = 1;
else if (bar._width >1)
bar._width -= 1;
}
}
onEnterFrame = function (){
num = random(2);
setInterval (Downbar , 2000);


b.onPress = function(){
if (num == 0)
m.gotoAndPlay('one');
if (num == 1)
m.gotoAndPlay('two');

if (bar._width <200)
bar._width +=3;
if (bar._width >= 200)
bar._width =200;

};
}
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 14:23 น.
อ๊ะ upload ลงเว็บแล้วเพิ่มแฮะ
ผมเทศในคอมตัวเองมัน + ไม่ทันการลบแฮะ 5555
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 14:23 น.
ลองเล่นเอง ทรมานแสดดดด

ปล.ยังไม่ได้เขียนท่าใหญ่นะ กดกันพลางๆ
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: โตน เมื่อ 05 ธ.ค. 2006, 14:25 น.
 :38: :38: :38: :38:

ลดความเร็ว setInterval ลงหน่อย คร๊าบบบบบบป๋าา
:05:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 14:27 น.
โค้ดชุดนี้ผิดที่ความเร็วในการลดครับไม่ใช่ เวลาของ interval

ถ้าปรับให้เป็น setInterval เป็น 5000
จะเป็นงี้ครับ  บวก ๆ ๆ ๆ ๆ   (ยังไม่มีการลด)  พอถึงเวลา ที่ 5000 มันก็จะลดด้วยความเร็วเหมือนเดิม
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: โตน เมื่อ 05 ธ.ค. 2006, 14:32 น.
รู้แต่กดไม่ทันครับ :05:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: ✌ เมื่อ 05 ธ.ค. 2006, 14:35 น.
มือหงิกเสร็จป๋าค่อยบอกว่าไำม่มีท่าใหญ่... :08:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: mysignE เมื่อ 05 ธ.ค. 2006, 14:36 น.
กดจนเหนื่อย (แฮ่กๆ...) มันขึ้นมานิดเดียวเองค่ะ
แล้วมันก็ลดหายไปฮือๆ (ใช้ทั้งมือซ้ายมือขวาแล้ว)
ปล. ทำอะไรไม่เป็นแต่มาลองเล่นดูค่ะ...ขำดี..แต่สงสารน้อง...เค้าจัง :22:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Dayight เมื่อ 05 ธ.ค. 2006, 14:38 น.
กดไปครึ่งหลอด ตะคริวกินนิ้ว  :44:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: mysignE เมื่อ 05 ธ.ค. 2006, 14:40 น.
ขึ้นเยอะแล้ว...เหนื่อยมากๆ
แต่ป๋า..เมาส์มันจะพังมั๊ยคะเนี๊ยะ :22:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 14:58 น.
สรุปตอนนี้ไม่ใช้ setInterval แล้วครับ
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: iannnnn เมื่อ 05 ธ.ค. 2006, 15:01 น.
:25:

(ตูใช้ Tab + Space bar โกงเอาเหมือนเดิม)
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: โตน เมื่อ 05 ธ.ค. 2006, 15:09 น.
 :25:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Dayight เมื่อ 05 ธ.ค. 2006, 15:12 น.
อ้างคำพูดจาก: iannnnn เมื่อ 05 ธ.ค. 2006, 15:01 น.
:25:

(ตูใช้ Tab + Space bar โกงเอาเหมือนเดิม)

เพิ่งรู้  สุดยอด  :25:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: นายโอ้เอ้ เมื่อ 05 ธ.ค. 2006, 15:15 น.
ป๋าลองเพิ่ม bar._width ต่อครั้งให้มากขึ้นสิครับ
ทดลองนะครับ อันนี้ +10

http://img2.f0nt.com/flash/752e4293f5751f82f58fd298226f75ef.swf
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 15:27 น.
แก้แล้วครับ แต่มีอีกแล้ว
ท่าใหญ่ไม่ออกครับ 555
ค้างที่เฟรมแรกของ MC


http://img2.f0nt.com/flash/1ee1b98adf6d09a5c415493aeb4e040d.swf

function Downbar() {
bar.onEnterFrame = function() {
if (bar._width<=1) {
bar._width = 1;
} else if (bar._width>1 and bar._width<200) {
bar._width -= 1;
} else if (bar._width>=199) {
gate.gotoAndPlay('pl');
bar._width = 200;

}
};
}
onEnterFrame = function () {
num = random(2);
Downbar();
b.onPress = function() {
if (num == 0) {
m.gotoAndPlay('one');
}
if (num == 1) {
m.gotoAndPlay('two');
}
if (bar._width<200) {
bar._width += 5;
}
if (bar._width>=200) {
bar._width = 200;
}
};
if (bar._width>=160) {
posX = 340;
} else if (bar._width>90 and bar._width<120) {
posX = 275;
}
b._x = posX;
};

บรรทัดที่ 8 ครับ
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: poloh เมื่อ 05 ธ.ค. 2006, 15:31 น.
ใน gate มันมี stop() ข้างบนอยู่หรือเปล่า ครับ ??

:25:ผมรอดูท่าใหญ่อยู่นะครับ
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 15:38 น.
เฟรมแรกเป็นเฟรมเปล่า เลยต้องใส่ stop(); ไว้น่ะครับ ที่เห็นคือค้างที่เฟรมที่ 2 ไม่ใช่เฟรมแรกครับ โทษที
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: นายโอ้เอ้ เมื่อ 05 ธ.ค. 2006, 15:43 น.
เพราะตรงนี้รึเปล่าครับ

gate.gotoAndPlay('pl');
bar._width = 200;

คือพอมันมากว่า 199 แล้ว มันยังคงวน loop เพื่อ gotoAndPlay('pl'); ต่อ มันเลยค้างอยู่อย่างนั้น
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: เต่ามาก เมื่อ 05 ธ.ค. 2006, 15:45 น.
ท่าไม้ตายๆ

มีแค่ max เด้งๆ เองง่า
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: นายโอ้เอ้ เมื่อ 05 ธ.ค. 2006, 15:52 น.
แก้บรรทัดนี้ครับ

bar._width = 200;

เป็น

bar._width = 1;

ก็ใช้ได้ครับ ลองแล้ว

http://img2.f0nt.com/flash/85e722c6d74592cd7da5361666f3c968.swf
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Ah! เมื่อ 05 ธ.ค. 2006, 18:05 น.
โอ้ว มันจอร์จจริงๆเลยยอด
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: heart เมื่อ 05 ธ.ค. 2006, 20:32 น.
ถ้าเขียนแบบเทพๆ ก็ต้องแบบนี้


frameArray = new Array("one","two");
Downbar();
b.onPress = function() {
m.gotoAndPlay( frameArray[random(2)] );
}


สามารถแทนโค้ดพวกนี้ได้เลย

num = random(2);
Downbar();
b.onPress = function() {
if (num == 0) {
m.gotoAndPlay('one');
}
if (num == 1) {
m.gotoAndPlay('two');
}



จริงๆยังมีอีกหลายส่วนที่ต้องปรับปรุงใหม่
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: heart เมื่อ 05 ธ.ค. 2006, 20:40 น.

bar.onEnterFrame = function() {
if (bar._width>0) {
bar._width--;
}
if (bar._width>=199) {
gate.gotoAndPlay('pl');
bar._width = 1;
}
};
frameArray = new Array("one", "two");
b.onPress = function() {
if (bar._width<200) {
bar._width += 5;
}
m.gotoAndPlay(frameArray[random(2)]);
if (bar._width>=160) {
b._x = 340;
} else if (bar._width>90 and bar._width<120) {
b._x = 275;
}
};



ลองเอาโค้ดนี้ไปแทนดูครับ 
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 05 ธ.ค. 2006, 21:26 น.
เจ๋งเป้งเลยครับ
ขอบคุณมากครับ (เหลือสั้นจุ๊ดจิ๋มเลย)
ขอถามอีกสักนิด ถ้าเป็นตัวจับเวลา แบบว่า ปั้มจนเต็มใช้เวลาไปกี่ วิ    เช่น 16.04 วินาที อะไรทำนองนี้ใช้คำสั่งอะไรเหรอครับ
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: heart เมื่อ 05 ธ.ค. 2006, 22:32 น.
getTimer

ครับ

a = getTimer()  ก่อนจะเริ่มปั๊ม

b= getTimer() หลังปั๊มเต็มแล้ว


แล้วเอามาลบกัน จะได้หน่วยมาเป็นวินาที

แล้วเอามา หาร 60 แปลงเป็นนาที
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: เต่ามาก เมื่อ 06 ธ.ค. 2006, 08:32 น.
เจี๊ยก...  :25:
ลืม getTimer ไปจนกระทั่งพี่ฮาร์ทบอกนี่แหละ

:25: :25: :25:

(รู้สึกบอร์ดนี้พี่ฮาร์ทจะหล่อเป็นพิเศษ  :27:)
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: heart เมื่อ 06 ธ.ค. 2006, 18:29 น.
อ้างคำพูดจาก: heart เมื่อ 05 ธ.ค. 2006, 22:32 น.
getTimer

ครับ

a = getTimer()  ก่อนจะเริ่มปั๊ม

b= getTimer() หลังปั๊มเต็มแล้ว


แล้วเอามาลบกัน จะได้หน่วยมาเป็นวินาที

แล้วเอามา หาร 60 แปลงเป็นนาที

แก้ไขใหม่ 

ออกมาหน่อยเป็น มิลลิวินาที แล้วเอามาหาร 1000 ได้เป็นวินาที
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Ah! เมื่อ 06 ธ.ค. 2006, 18:34 น.
นี่แหละน้า
เขาว่าคนหน้าตาไม่ดีมักจะเก่ง

:12:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: heart เมื่อ 06 ธ.ค. 2006, 20:34 น.
ภูกระดึง  ทำไมเก่งจังเลย กรี๊ด........
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: Layiji เมื่อ 06 ธ.ค. 2006, 20:34 น.
ทำไมผมถึงอ่อนหัดอย่างงี้  :30:
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: saa3 เมื่อ 06 ธ.ค. 2006, 21:50 น.
ทำไมตูหล่ออย่างงี้
ชื่อเรื่อง: Re: แรนด้อม
โพสต์โดย: RakRok เมื่อ 22 ธ.ค. 2006, 18:32 น.
เห็น เกจ ตามเกมพวกกีฬาจะขึ้นยากเมื่อเกจสูงขึ้นนี่ครับ จะมีความยากที่ตรงกันทุกช่วงของเกจ

bar._width--; อาจจะแก้เป็น bar._width -= bar._width * 0.25; (ยังไม่มีเวลาทำครับค่านี้แค่สมมุติมาเฉย ๆ แต่คิดว่าเกจพลังน่าจะขึ้นยากขึ้นเมื่อเกจสูงขึ้นครับ)

หรือว่าใครมีสมการยังไงล่ะครับ