Конференция "Компоненты" » Событие для своего класа [D6]
 
  • lod © (24.05.07 12:02) [0]
    Я зоздал класс TPeople и класс TTrafficlight. Сответственно создал код:
    type TPeople=class
         go:Boolean;
        speed,x,y,radius,f:real;//скорость, координаты, радиус, направление человека
    Procedure move(i:integer);
    end;
    var people:array [1..20] of TPeople;

    и

    type TTrafficlight=class
        x,y,radius,interval:real;// координаты, радиус и интервал мигания
        color:TColor;// текущий свет сфетофора
    Procedure draw(var Traf:TTrafficlight);
    end;
    var Trafficlight1:TTrafficlight;


    Каждый people[i] движется хаотично (визуализация происходит на компоненте Image1).
    Для того чтобы светофор останавливал пешехода на красный свет, как я думаю, нужно написать событие для класса TTrafficlight, которое автоматически возникало, когда координаты people[i] совпадали с координатами Trafficlight1.
    Другими словами программа в автоматическом режиме должна отлавливать, когда координаты объектов будут равны.
    Зоздавать компоненты я не хочу. Да и как потом создать 1000 дубликатов этого компонента?!
  • Сергей М. © (24.05.07 12:13) [1]

    > как .. создать 1000 дубликатов .. компонента?


    Точно так же как ты создаешь 20 "дубликатов" TPeople

    А в чем собссно вопрос, кроме этого ?
  • Сергей М. © (24.05.07 12:25) [2]

    > Каждый people.. движется хаотично


    Что значит "хаотично" ? Не соблюдая никаких ПДД ? Он что, "под мухой" ?)))

    Или все-таки движется он как и положено трезвому вменяемому пиплу - по направлению дороги или через дорогу, в направлении ближайшего к нему светофора, если таковой вообще на маршруте имеется ?
 
Конференция "Компоненты" » Событие для своего класа [D6]
Есть новые Нет новых   [134427   +34][b:0][p:0.001]