Я хотел бы, чтобы пуля вращалась вместе с кораблем, поэтому похоже, что пули выходят из корабля.
blockquote>Вы должны знать угол поворота для каждой отдельной пули. Добавьте угол поворота к данным пули:
data = (arrowbox, move[0], move[1], shipdir) arrows.append(data)
Создайте повернутые пули с помощью
pygame.transform.rotate
иblit
it:for bullet in arrows: rotBullet = pygame.transform.rotate(arrow, bullet[3]) screen.blit(rotBullet, (bullet[0].x, bullet[0].y))
При изменении значения в данных TableModel необходимо запустить это событие. например, изменяя значение одной ячейки, Вы звоните fireTableCellUpdated(row, col);
.
Посмотрите на это более конкретно.
При установке TableModel в JTable таблица добавляет наблюдателя (TableModelListener), который будет информирован об изменениях в модели.
При изменении данных в модели модель, как ожидают, уведомит зарегистрированных слушателей путем увольнения TableModelEvent. Само событие может содержать дополнительную информацию о гранулярности изменения (изменяется ли структура, значительно измененная, или только некоторые данные ячейки) позволить JTable делать оптимизированное обновление представления.
Я предполагаю, что Вы используете фразу "TableData", чтобы просто означать данные, показываемые в JTable. Отвечать на Ваш вопрос, видите ли Вы автоматические обновления или не зависите от Вашего TableModel и как он взаимодействует с Вашими данными.
TableModel должен запустить события, когда базовая модель данных изменилась, это в свою очередь уведомит JTable, что изменение произошло, и он должен быть перерисован. Таким образом с точки зрения отношений, JTable слушает изменения события на TableModel; TableModel не знает о JTable.
В зависимости от того, как организована Ваша модель, данные под нею могли измениться без знания TableModel. В этом экземпляре, если у Вас есть прямая передача от TableModel до данных, на экране изменятся значения, когда перекрашивание естественно произойдет (экран изменяют размер, мышь, отодвигающаяся и т.д.), но это, Вы хотите форсировать событие, необходимо заставить TableModel уведомлять JTable через вышеупомянутые события. С точки зрения отношений TableModel знает о данных таблицы, но данные таблицы не знают о модели (обычно). TableModel может или не может слушать на данных для изменений.