AddMesh Problem, Quader - .3ds
Übersicht

![]() |
BastianABetreff: AddMesh Problem, Quader - .3ds |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
leider habe ich wieder ein Problem. Ich habe einen Quader erstellt und eine Textur zugewießen. Die Texturen kann man auch verändern, aber das ist nebensächlich. Der Quader soll aber mit meiner Tram mitfahren, also .3ds, allerdings macht er das nicht, er bleibt einfach an der Position stehen: Code: [AUSKLAPPEN] ;Matrix-System-Teil I MatrixF = CreateCube() PositionMesh MatrixF,6.1651 , 2.4029, 0 ScaleMesh MatrixF, 0.01, 0.1, 0.5 MatrixTex2 = LoadTexture ("Matrix\2.bmp", 1) MatrixTex3 = LoadTexture ("Matrix\3.bmp", 1) MatrixTex4 = LoadTexture ("Matrix\4.bmp", 1) MatrixTex5 = LoadTexture ("Matrix\5.bmp", 1) MatrixTex6 = LoadTexture ("Matrix\6.bmp", 1) MatrixTex7 = LoadTexture ("Matrix\7.bmp", 1) MatrixTex8 = LoadTexture ("Matrix\8.bmp", 1) MatrixTex9 = LoadTexture ("Matrix\9.bmp", 1) MatrixTex10 = LoadTexture ("Matrix\10.bmp", 1) MatrixTex11 = LoadTexture ("Matrix\11.bmp", 1) MatrixTex12 = LoadTexture ("Matrix\12.bmp", 1) MatrixTex13 = LoadTexture ("Matrix\13.bmp", 1) EntityTexture MatrixF, MatrixTex2 AddMesh MatrixF, Tram Geht das bei Quader -> .3ds nicht ? Ich habe es mit einer .3ds probiert das funktioniert aber mit einem Mesh nicht. mfg |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Versuch's mal mit
Code: [AUSKLAPPEN] MatrixF = CreateCube(Tram)
|
||
![]() |
BastianA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah oke, danke, funktioniert jetzt. Aber warum ist mein Quader auf 0,0 ?
Ich habe ihn doch mit PositionEntity auf eine Koordinate geladen, er bleibt aber auf 0,0,0. Das Skalieren funktioniert alles nur die Koordinate des Quaders und die Rotation haben beide keine Wirkung. Was mache ich falsch ? |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nicht PositionMesh, PositionEntity nehmen. Mesh verschiebt nur das Modell, so als ob du es in einem 3DS-Editor wie Blender verschieben und dann speichern würdest. Die Koordinate des ganzen Entities bleibt aber trotzdem noch bei 0, 0, 0.
Dabei musst du die Koordinaten bei PositionEntity an die des lokalen Koordinatensystems der Tram anpassen (wenn er also auf ihr sein soll, z.B. "0, 1, 0" nehmen). |
||
![]() |
BastianA |
![]() Antworten mit Zitat ![]() |
---|---|---|
AH oke, danke, funktioniert jetzt, habe es begriffen.
Noch eine kleine kurze OT Frage, bevor der Thread der Vergangenheit angehört: Ist es möglich mehrere Sounds laufen zu lassen? Also ich habe hier einen Sound für die Tram, der je nach Geschwindigkeit sich ändert, das passt ja auch. Allerdings möchte ich einen Radio, der einen Sound abspielt, nur wenn sich die Geschwindigkeit ändert, ändert sich auch der Sound, gibt es da noch eine andere Möglichkeit ? Hier mal meinen Code: Code: [AUSKLAPPEN] ;Radio Teil I RadioS = LoadMesh("Radio/silber/radio.3ds", Tram) RotateEntity RadioS, 0, -90, 0 AddMesh RadioS, Tram sradio = LoadSound ("Radio\radio.mp3") ... ;Radio! If KeyDown (19) Then radiof# = radiof# + 1 End If If radiof# > 1 And radiof# < 5 Then radiof1# = 1 If radiof# > 6 And radiof# < 10 Then radiof1# = 2 If radiof1# = 1 Then rchn = PlaySound(sradio) EndIf If radiof1# = 2 Then StopChannel rchn EndIf ;Ende Radio! SoundId=LoadSound("Sounds\Motor2.wav") LoopSound SoundId If KeyDown(20) Then Ma# = Ma# + 1 If Ma# = 1 Then ChannelId=PlaySound(SoundId) If Ma# = 2 Then StopChannel ChannelId If Ma# = 3 Then Ma# = 0 EndIf SoundPitch SoundId, speed#*20000 |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] ;Radio!
If KeyDown (19) Then radiof# = radiof# + 1 End If If radiof# > 1 And radiof# < 5 Then radiof1# = 1 If radiof# > 6 And radiof# < 10 Then radiof1# = 2 If radiof1# = 1 Then rchn = PlaySound(sradio) EndIf Sehe ich hier einen KeyHit-Workaround? Wenn du den einmaligen Druck einer Taste überprüfen willst, nutze KeyHit(), nicht KeyDown. radiof muss übrigens keine Gleitkommazahl sein (#), da du ja keine Nachkommawerte hineinspeicherst. Ich habe deswegen mal die # entfernt (die sowieso nur bei der erstmaligen Definition nötig sind). Code: [AUSKLAPPEN] ;Radio!
If KeyHit(19) Then radiof = Not(radiof) If radiof = True Then rchn = PlaySound(sradio) Else StopChannel rchn End If Zitat: nur wenn sich die Geschwindigkeit ändert, ändert sich auch der Sound, gibt es da noch eine andere Möglichkeit ?
Wie meinst du das jetzt genau? Willst du ein anderes Motorgeräusch ab XYZ km/h? Da musst du dann schon mehrere Sounds laden, und einen Channel je nach Geschwindigkeit mit dem passenden Sound bestücken. |
||
![]() |
BastianA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja das mit dem Motorsound passt schon so, darum geht es nicht. Es geht darum, dass ich einen Sound abspielen will, der Motorsound läuft aber im Hintergrund. Der Sound wird ja abgespielt, allerdings in einer falschen Tonhöhe, die sich aber auf den Motor bezieht, aber der Radio wird auch dann je nach Geschwindigkeit verstellt.
Mit deinem Code geht jetzt gar nichts mehr :S |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst das Radio ja auch in einem anderen Channel laufen lassen. | ||
![]() |
BastianA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, hab ich doch, also hier der Code :
Code: [AUSKLAPPEN] RadioS = LoadMesh("Radio/silber/radio.3ds", Tram) RotateEntity RadioS, 0, -90, 0 AddMesh RadioS, Tram sradio = LoadSound ("Radio\radio.mp3") ... ;Radio! If KeyDown (19) Then radiof# = radiof# + 1 End If If radiof# > 1 And radiof# < 5 Then radiof1# = 1 If radiof# > 6 And radiof# < 10 Then radiof1# = 2 If radiof1# = 1 Then rchn = PlaySound(sradio) EndIf If radiof1# = 2 Then StopChannel rchn EndIf .... LoopSound SoundId If KeyDown(20) Then Ma# = Ma# + 1 If Ma# = 1 Then ChannelId=PlaySound(SoundId) If Ma# = 2 Then StopChannel ChannelId If Ma# = 3 Then Ma# = 0 EndIf SoundPitch SoundId, speed#*20000 Ich verstehe nicht, was daran falsch ist, Motor und Radio sind ja auf einem anderen Channel :S |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group