![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Jan 2012
Сообщений: 5
|
Здравствуйте. У меня тут такая проблема:
Нужно чтоб при выполнении функции из переменной вычиталось число и сохранялось в этой же переменной. вроде бы просто: но при таком коде переменная всегда возвращается обратно в 100: package Engene { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; public class Test extends MovieClip { public var aTest:Number = 100; public var bTest:Number = 150; public var ataka1:Boolean = false; public function Test() { addEventListener(Event.ENTER_FRAME,fun); stage.addEventListener(KeyboardEvent.KEY_DOWN, movingListener); } public function fun(e:Event):void { xMethod(aTest); } public function movingListener(e:KeyboardEvent):void { if (e.keyCode == 49) { ataka1 = true; }else { ataka1 = false; } } public function xMethod(num1):void { if (ataka1==true) { num1-=5 trace(num1); } } Подскажите в чем проблема? Возможно чего не углядел) |
|
|||||
|
ну чтоже тут непонятного? Вы передаете не ПЕРМЕННУЮ в метод, а значение ).
Тоесть И получается что вы хотите добиться? Пишите тогда так
__________________
Марк Tween |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 5
|
то есть так:
package Engene { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; public class Test extends MovieClip { public var aTest:Number = 100; public var bTest:Number = 150; public var ataka1:Boolean = false; public function Test() { addEventListener(Event.ENTER_FRAME,fun); stage.addEventListener(KeyboardEvent.KEY_DOWN, movingListener); } public function fun(e:Event):void { xMethod(aTest,delim:int = 5); } public function movingListener(e:KeyboardEvent):void { if (e.keyCode == 49) { ataka1 = true; }else { ataka1 = false; } } public function xMethod(num1, delim:int):void { if (ataka1==true) { num1-=delim trace(num1); } } } } |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 5
|
Цитата:
он на самом деле намного больше, я просто вырезал нужный мне элемент из кода и привел здесь. Раньше я делал через текстовое поле, т.е от содержимого текстового поля отнималось такое значение и все работало, но потом решил что через переменную надежней и качественней получится![]() Сейчас попробую как Вы посоветовали и отпишусь) Добавлено через 9 минут На добавление этого выдает 2 ошибки: 1084: Syntax error: expecting identifier before var. 1084: Syntax error: expecting rightparen before colon. P.s Добавление идентификатора перед var решило лишь первую ошибку, ну я думаю не в этом соль ![]() Добавлено через 45 минут Если написать код как Вы в самом начале посоветовали: package Engene { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; public class Test extends MovieClip { public var aTest:Number = 100; public var bTest:Number = 150; public function Test() { addEventListener(Event.ENTER_FRAME,fun); } public function fun(e:Event):void { xMethod(aTest); trace(aTest); } public function xMethod(delim:Number = 5 ):void { aTest -= delim } } } Последний раз редактировалось Serofody; 30.01.2012 в 20:24. |
|
|||||
package Engene { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; public class Test extends MovieClip { public var aTest:Number = 100; public var bTest:Number = 150; public var ataka1:Boolean = false; public function Test() { addEventListener(Event.ENTER_FRAME,fun); stage.addEventListener(KeyboardEvent.KEY_DOWN, movingListener); } public function fun(e:Event):void { aTest = xMethod(aTest,var delim:int = 5); } public function movingListener(e:KeyboardEvent):void { if (e.keyCode == 49) { ataka1 = true; }else { ataka1 = false; } } public function xMethod(num1, delim:int):int { if (ataka1==true) { num1-=delim } return num1; } } }
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
|
... блин если код ваш, как можно путаться в такой логике?!
xMethod(aTest); trace(aTest); public function xMethod(delim:Number = 5 ):void { aTest -= delim } // Задачу можете пояснить нормально? У вас есть переменная, нужно в методе менять значение переменной на определенное число Если не понятно почему, стоит начать с азов программирования, но если отсальной код ваш, а тут вы путаетесь - у вас ядерная каша в голове
__________________
Марк Tween Последний раз редактировалось in4core; 30.01.2012 в 20:38. |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 5
|
написав:
package Engene { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; public class Test extends MovieClip { public var aTest:int = 100; public var bTest:int = 150; public function Test() { addEventListener(Event.ENTER_FRAME,fun); } public function fun(e:Event):void { xMethod(); trace(aTest); } public function xMethod(delim:int = 5 ):void { aTest -= delim } } } ЗЫ надеюсь задачу пояснил) Последний раз редактировалось Serofody; 30.01.2012 в 20:35. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|