Flash Zone Forum > Êàê êîððåêòíî ïðèêðåïèòü ScrollBar ïðîãðàìíî?
Ïîìîùü · Ïîèñê · Ïîëüçîâàòåëè · Êàëåíäàðü
Ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû: Êàê êîððåêòíî ïðèêðåïèòü ScrollBar ïðîãðàìíî?
Flash Zone Forum > Macromedia Flash > ActionScript
Äîæ
Óâàæàåìûå ôëåøåðû, äîáðîãî âðåìåíè ñóòîê!
Ýòî íîâè÷îê âàñ òðåâîæèò...
Ïðáëåìà â ñëåäóùåì:
 ïåðâîì è åäèíñòâåííîì ïîêà êàäðå ëîê ïðîåêòà ñîçäà¸ì äâà êëèïà (òàùèì èç áèáëèîòåêè),
 îäíîì èç íèõ ñîçäà¸ì òåñòîâîå ïîëå (ïðîãðàìíî) è òóò æå(ïåðâûé âàðèàíò)
êîäîì èç êàäðà ãëàâíîé øêàëû ïûòàþñü ïðèêðåïèòü scrollBar è íè÷åãî íå âûõîäèò, ñîâñåì íè÷åãî
(Âïåðâûå ïîçâîëèë ñåáå êîä íàïèñàòü èç êíèãè äî êîíöà íå ñìîã ðàçîáðàòüñÿ â í¸ì)
è òàê ôðàãìåíò:
Êîä
this.attachMovie("ctrP_mcl", "ctrP1_mcl", 1);
//âûâîäèì íà ñöåíó êîíòåéíåð äëÿ ãëàâíîãî ýêð: /ctrP1_mcl/
ctrP1_mcl._x = 520;
ctrP1_mcl._y = 400;
ctrP1_mcl._height = 690;
ctrP1_mcl._width = 850;
trace(ctrP1_mcl);
ctrP1_mcl.attachMovie("cont1_mcl", "contf_mcl", 0);
//ïðèêðåïëÿåì ïóñòîé êëèï äëÿ ôîòî ê ãëàâíîìó ýêð
trace(ctrP1_mcl.contf_mcl._x);
trace(ctrP1_mcl.contf_mcl._y);
ctrP1_mcl.createTextField("fld_txt", 1, 100, -320, 300, 400);
//ñîçäà¸ì â ãëàâíîì ýêð òåêñòîâîå ïîëå:/ctrP1_mcl.fld_txt/
ctrP1_mcl.fld_txt.border = true;
//Âêëþ÷àåì îòîáðàæåíèå ðàìêè
ctrP1_mcl.fld_txt.background = true;
//Âêëþ÷àåì îòîáðàæåíèå çàäíåãî ôîíà
ctrP1_mcl.fld_txt.wordWrap = true;
//Àêòèâèçèðóåì ðåæèì ïåðåíîñà ïî ñëîâàì
ctrP1_mcl.fld_txt.backgroundColor = 0xFFCCCC;
//öâåò ôîíà òåêñòîâîãî ïîëÿ
ctrP1_mcl.fld_txt.text="nbmjgkjgj"

var myFormat:TextFormat = new TextFormat();

myFormat.font="Arial";
myFormat.size=38;
ctrP1_mcl.fld_txt.setTextFormat (myFormat);
import mx.controls.UIScrollBar;
createClassObject(UIScrollBar,"scrlBar", 5);
scrlBar.setScrollTarget (ctrP1_mcl.fld_txt);
my_sb.horizontal=false;
scrlBar.size(18, ctrP1_mcl.fld_txt._height);
scrlBar.move(ctrP1_mcl.fld_txt + ctrP1_mcl.fld_txt._width, ctrP1_mcl.fld_txt._y);
scrlBar.lineScrollSize = 2;
scrlBar.pageScrollSize = 5;
//ctrP1_mcl.fld_txt._alpha=50;
trace(ctrP1_mcl.fld_txt._alpha);
trace(ctrP1_mcl.fld_txt.type);

äàëåå áûë âòîðîé âàðèàíò:
îòêëþ÷àþ áëîê êîäà ñîçäàíèÿ òåêñòîâîãî ïîëÿ è ñêðîëà è íà
ëèíåéêå êëèïà ctrP1_mcl ïèøó ñëåäóþùåå:
Êîä
this.createTextField("fld_txt", 1, 100, -320, 300, 400);
//ñîçäà¸ì â ãëàâíîì ýêð òåêñòîâîå ïîëå:/fld_txt/
fld_txt.border = true;
fld_txt.background = true;
fld_txt.wordWrap = true;

fld_txt.backgroundColor = 0xFFCC70;
//öâåò ôîíà òåêñòîâîãî ïîëÿ
fld_txt.text="slova slova slova slova";
var myFormat:TextFormat = new TextFormat();

myFormat.font="Arial";
myFormat.size=20;
fld_txt.setTextFormat (myFormat);
//////
import mx.controls.UIScrollBar;
createClassObject(UIScrollBar,"scrlBar",0);
scrlBar.setScrollTarget(fld_txt);
scrlBar.horizontal=false;
scrlBar.size(18, fld_txt._height);
scrlBar.move(fld_txt + fld_txt._width, mcl.fld_txt._y);
scrlBar.lineScrollSize = 2;
scrlBar.pageScrollSize = 5;
trace("prokrut:"+scrlBar);
trace("pole:"+fld.txt)


Äåéñòâèòåëüíî ñêðîë ïîÿâëÿåòñÿ íî ïî÷åìó-òî âíå ïîëÿ, ñîâåðøåííî â ïðîèçâîëüíîì ìåñòå.
Åñëè íå ëåíü ïîìîãèòå ïîæàëóéñòà. Åù¸ ÷åñòíî ãîâîðÿ ïûòàëñÿ ïî ïÿòè êíèæêàì ïîíÿòü ÷òî äåëàåò ýòîò ôðàãìåíò: import mx.controls.UIScrollBar; - íå ïîíÿë, ìîæåò â ýòîì çàãâîçäêà?
Scooter
Êàðî÷ ÿ íå ñòàë ÷èòàòü ÷òî òû òóò íàïèñàë(óæ ñëèøêîì ìíîãî biggrin.gif ),íî ïîíÿë â ÷åì ïðîáëåìà...
ß òå äàì ñâîé êîä ïîïðîáóé åãî !
Íî äëÿ íà÷àëà òû äîëæåí âûíåñòè êîìïîíåíò UIScrollBar(Window ->Components) â áèáëåîòåêó(íå ñîçäàâàÿ åãî ýêçåìïëÿðà íà ñöåíå) è ñîçäàòü â êàäðå ñëåäóþùèé êîä :

Êîä
//Ñîçäàåì òåêñòîâûé áëîã
this.createTextField ("txt",2,200,20,100,200);
txt.wordWrap = true;
txt.text = "...Âàø òåêñò...";
//Èìïîðòèðóåì óïðàâëÿþùèé êëàññ êîìïîíåíòà èç ïàêåòà mx.controls (âîò åùå îäèí îòâåò íà òâîé âîïðîñ =) )
import mx.controls.UIScrollBar;
//Äèíàìè÷åñêè ñîçäàåì íà ñöåíå ýêçåìïëÿð êîìïîíåíòà ñ èìåíåì scrlBar
createClassObject(UIScrollBar,"scrlBar",5);
//Îïðåäåëÿåì ïðèíàäëåæíîñòü ýêçåìïëÿðà êîìïîíåíòà ê òåêñòîâîìó áëîêó
scrlBar.setScrollTarget(txt)
//Âåðòèêàëüíàÿ îðèåíòàöèÿ
my_sb.horizontal = false;
//Çàäàåì ðàçìåð êîìïîíåíòà (ïî øèðèíå è âûñîòå)
scrlBar.setSize(12,txt._height);
//Ïîçèöèîíèðóåì êîìïîíåíò
scrlBar.move(txt._x + txt._width, txt._y);
//Çàäàåì êîëè÷åñòâî ñòðîê (äëÿ ãîðèçîíòàëüíîé ïðîêðóòêè - ïèêñåëû),íà êîòîðîå áóäåò âûïîëíÿòüñÿ ïðîêðóòêà ïðè íàæàòèè       
//íà êíîïêó ïðîêðóòêè
scrlBar.lineScrollSize = 2;
scrlBar.pageScrollSize = 5;


Âðîäå âñå äîëæíî ðàáîòàòü,ïîïðîáóé,áóäóò âîïðîñû çàäàâàé!
Äîæ
Öèòàòà
Íî äëÿ íà÷àëà òû äîëæåí âûíåñòè êîìïîíåíò UIScrollBar(Window ->Components) â áèáëåîòåêó(íå ñîçäàâàÿ åãî ýêçåìïëÿðà íà ñöåíå)

ýòî áûëî ñäåëàíî ñðàçó. Ïðîàíàëèçèðîâàë òâîé êîä, îí îäèí ê îäíîìó ñ ìîèì, íî
1. ÿ ñîçäàþ òåêñòîâûé áëîã â êëèïå êîäîì èç ãëàâíîé (ìîæåò â ýòîì ïðîáë?)
âìåñòî
Öèòàòà
Êîä
//Ñîçäàåì òåêñòîâûé áëîã
this.createTextField ("txt",2,200,20,100,200);

ïèøó
Êîä
ctrP1_mcl.createTextField("fld_txt", 1, 100, -320, 300, 400);

è â äàëüíåéøåì äëÿ ïðèêðåïëåíèÿ ñðîëà

Êîä
scrlBar.setScrollTarget (ctrP1_mcl.fld_txt);

è íè÷åãî. ×òî íåòàê ñäåëàë íå ïîéìó?!
Òåì íåìåíåå ñïàñèáî, ÷òî íàøëè âðåìÿ îòâåòèòü. (Êñòàòè ñëó÷àéíî òåìó îòêðûë â íåñîîòâåòñòâóþùåì ðàçäåëå)
Scooter
Âïîëíå âîçìîæíî,ïîïðîáóé èñïðàâü.
ß ñîçäàþ â êàäðå ,à òû ñîçäàåøü â êëèïå =)
Äîæ
Öèòàòà(Scooter @ 6.08.2007 - 14:04) *
ß ñîçäàþ â êàäðå ,à òû ñîçäàåøü â êëèïå =)


Äà íî ó ìåíÿ è âòîðîé âàðèàíò òî÷íî òàêîãî æå êîäà(ïðåäâàðèòåëüíî îòêëþ÷èâ òàêîé æå êîä â êàäðå)
êîòîðûé ÿ ïèøó íà ëèíåéêå ñàìîãî êëèïà òîëüêî ïóòè ê òåêñòîâîìó ïîëþ âåçäå ñòàâëþ
íå
Êîä
ctrP1_mcl.fld_txt

à
Êîä
fld_txt

è ... ïîÿâëÿåòñÿ ýòîò ñêðîë ñîâåðøåííî â ñòîðîíå îò òåêñòîâîãî ïîëÿ
Ðóññêàÿ âåðñèÿ IP.Board © 2001-2009 IPS, Inc.