![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2007
Сообщений: 15
|
Народ!Помогите, пожалуйста!
Создаю игру, в ней будет магазин.В первом кадре пишу код. myVar = "сок";
but.onRelease = function (){
if (tf1.text != myVar2){
tf1.text = myVar }
else if(tf1.text == myVar2 && tf2.text != myVar2){
tf2.text = myVar}
else if(tf1.text != myVar){
tf1.text = myVar }
else if(tf1.text == myVar && tf2.text != myVar2){
tf2.text = myVar}
}
myVar2 = "колбаса";
but2.onRelease = function (){
if (tf1.text != myVar){
tf1.text = myVar2 }
else if(tf1.text == myVar2 && tf2.text != myVar){
tf2.text = myVar2}
else if(tf1.text == myVar2 && tf2.text != myVar2){
tf2.text = myVar2}
else if(tf1.text == myVar && tf2.text != myVar){
tf2.text = myVar2}
}
Не получается, чтобы при нажатии дважды на сок, в обоих динам. текстах появлялось слово сок.То же самое и с колбасой. |
|
|||||
|
не вполне ясно что надо, может так..
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 15
|
Уже сам догадался что к чему, но все равно спасибо!Понял то, что это не удобно.У меня в магазине будет еще около 5 продуктов.Тогда код получится ОГРОМНЫЙ.Можно это как-нибудь сделать по-другому?
Например с массивом. |
|
|||||
var products:Array=["first","second","third"];
var labels:Array=[tf1,tf2,tf3,tf4];//текстфилды (сколько надо)
var buttons:Array=[but1,but2,but3];//кнопки (по числу продуктов)
function butPress(){
var n:Number=this.tag;
var s:String=products[n]
for(var i=0;i<labels.length;i++) if(s!=labels[i].text) break;
if(i<labels.length)labels[i].text=s;
}
for(var i in buttons){
buttons[i].tag=i;
buttons[i].onPress=butPress;
}
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 15
|
Ага!Спасибо!Работает.Только еще как сделать, если нажал на кнопку first
он вылез в первом текстфилде, а если потом на вторую кнопку, слово sekond вылезло во втором текстфилде?С третьим аналагичная ситуация. |
|
|||||
|
сделать можно как угодно: сам видишь, что это нетрудно..
но нужна четкая и однозначная логика действий, которую у тебя уловить сложно: "а если потом на вторую кнопку" - а если не потом, а до.., а если в первом текстфилде не first, а third, что если все текстфилды уже заняты, то все: больше нет выбора?.. и еще много таких если.. продумай логику/алгоритм приложения, по нему и пиши и все встанет на свои места само собой.. вариант (при выборе сверх запланированных мест, выкидывает первый): var products:Array=["first","second","third"];
var choices:Array=[];
var labels:Array=[tf1,tf2,tf3,tf4];//текстфилды (сколько надо)
var buttons:Array=[but1,but2,but3];//кнопки (по числу продуктов)
function butPress(){
choices.push(products[this.tag]);
if(choices.length>labels.length) choices.shift();
for(var i in labels) labels[i].text=choices[i] || "";
}
for(var i in buttons){
buttons[i].tag=i;
buttons[i].onPress=butPress;
}
Последний раз редактировалось silin; 07.08.2007 в 15:29. |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 15
|
Я просто новичок во flashе.Смысл в том, что человек приходи в магазин и выбирает, что хочет в любом порядке.А когда все текстфилды заняты то все: выбора больше нет.Я уже долго не могу осуществить свою идею.Вот.Обратился к вам!
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 15
|
короче говоря, вот, что мне надо.Только продуктов побольше и код попроще.(не слишком нагло?
) |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|